加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 如何将可变数量的参数传递给SQL Server存储过程?

发布时间:2020-12-12 16:42:22 所属栏目:MsSql教程 来源:网络整理
导读:我使用SQL Server 2005作为我的小型Web应用程序.我想传递参数到SP. 但有一个条件.可随时更改的参数数量. 想想,这次我通过名称和地址,下次我通过名字,姓氏,地址, 该参数范围可以为1-30, 解决方法 您使用默认参数声明过程,并使用命名参数调用它,而不是位置参数
我使用SQL Server 2005作为我的小型Web应用程序.我想传递参数到SP.
但有一个条件.可随时更改的参数数量.
想想,这次我通过名称和地址,下次我通过名字,姓氏,地址,

该参数范围可以为1-30,

解决方法

您使用默认参数声明过程,并使用命名参数调用它,而不是位置参数:
CREATE PROCEDURE usp_myProcedure
  @name varchar(100) = '',@surname varchar(100) = '',@address varchar(100) = ''
AS
BEGIN
...
END

从T-SQL调用它:

exec usp_myProcedure @name='John',@surname = 'Doe';
exec usp_myProcedure @name='Jane',@address = '123 Anystreet';

从C#调用它:

SqlCommand cmd = new SqlCommand('usp_MyProcedure',...);
cmd.CommandType = commandtype.StoredProcedure;
cmd.Parameters.AddWithValue('@name','John');
cmd.Parameters.AddWithValue('@surname','Doe');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读