-7

我有一个简单的存储过程,它需要 6 个参数。可以说它们是@a, @b, @c, @d, @e, @f并且它们都是可选的,默认值为null.

我需要知道如何仅使用其中一些参数来调用存储过程。我知道一般步骤:

  1. 定义一个连接并打开它。

  2. 定义一个命令对象

  3. 将参数添加到命令对象。

  4. 执行命令。

现在为每个@a, @b, @c, @d, @e, @fParameters.Add()用来添加该参数的人。

问题是:如果我想用@aand调用存储过程@f,我还需要Add()其他参数吗?或者,如果我只添加 2 个参数,存储过程如何知道我提供了哪些参数?

4

3 回答 3

6

问题是:如果我只想用@a 和@f 调用存储过程怎么办?

只要其他是可选的,SP 就会执行而不会出现任何错误。

在这种情况下,我是否还需要添加其他参数(b,c,d,e)?

不,你没有。

如果我只添加 2 个参数,存储过程如何知道顺序?

顺序在这里并不重要。参数名称是。它必须与 SP 声明中的相匹配。

于 2013-07-15T11:56:28.803 回答
0

因为您说所有参数都是可选的(允许为空);因此,即使您在没有任何参数的情况下调用 SP,它也应该可以正常运行。

于 2013-07-15T12:04:32.860 回答
0

如果您在 proc 中将参数定义为可为空,则运行它不会有任何问题。

正如其他写的那样,重要的部分是您命名参数,因为它们在过程中被命名

于 2013-07-15T12:07:49.383 回答