我有一个简单的存储过程,需要6个参数。假设它们是@a, @b, @c, @d, @e, @f
,并且它们都是可选的,默认值为null
。
我需要知道如何使用仅这些参数来调用存储过程。我知道一般步骤:
定义连接并打开它。
定义命令对象
将参数添加到命令对象。
执行命令。
现在每个@a, @b, @c, @d, @e, @f
我都使用Parameters.Add()
添加该参数。
问题是:如果我想仅使用@a
和@f
调用存储过程,我还需要Add()
其他参数吗?或者,如果我只添加2个参数,存储过程将如何知道我提供的参数?
答案 0 :(得分:6)
问题是:如果我想用@a和@f,
调用存储过程怎么办?
只要其他是可选的,SP就会毫无错误地执行。
在这种情况下,我还需要添加其他参数(b,c,d,e)吗?
不,你没有。
如果我只添加2个参数,存储过程如何知道订单?
订单在这里并不重要。参数名称是。它必须匹配SP声明中的那个。
答案 1 :(得分:0)
因为你说所有参数都是可选的(允许为null);因此,即使您在没有任何参数的情况下调用SP,也应运行良好。
答案 2 :(得分:0)
如果您在proc中将参数定义为可为空,则运行它时不会出现任何问题。
与其他人一样,重要的部分是你在参数
中命名参数