我使用sql Server 2005作为我的小型Web应用程序.我想传递参数到SP.
但有一个条件.可随时更改的参数数量.
想想,这次我通过名称和地址,下次我通过名字,姓氏,地址,
但有一个条件.可随时更改的参数数量.
想想,这次我通过名称和地址,下次我通过名字,姓氏,地址,
该参数范围可以为1-30,
解决方法
您使用默认参数声明过程,并使用命名参数调用它,而不是位置参数:
CREATE PROCEDURE usp_myProcedure @name varchar(100) = '',@surname varchar(100) = '',@address varchar(100) = '' AS BEGIN ... END
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');