m0g*_*m0g 7 c# sql-server asp.net stored-procedures parameter-passing
如何执行一个接收参数的存储过程而不必指定参数名称?存储过程中的参数名称可能会从CustomerID更改为CustID,因此我不想继续更改我的代码.
而不是执行下面提供的指定参数名称的内容 -
command.Parameters.Add("@dtStart", SqlDbType.DateTime);
command.Parameters["@dtStart"].Value = startDate;
command.Parameters.Add("@CustomerID", SqlDbType.NChar);
command.Parameters["@CustomerID"].Value = customerID;
Run Code Online (Sandbox Code Playgroud)
我希望做这样的事情 -
command.Parameters.Add(startDate, customerID);
Run Code Online (Sandbox Code Playgroud)
我不认为你可以创建一个SqlParameter对象而不指定它的名字.但是,您应该能够使用该DeriveParameters方法(请参阅MSDN)获取参数集合,其中的名称将自动从SQL Server中检索.
SqlCommand command = // create a command for calling the stored procedure
SqlCommandBuilder.DeriveParameters(command);
// Now you can set values of parameters in a loop
for(int i = 0; i < command.Parameters.Length; i++) {
var parameter = command.Parameters[i]
// Set value of ith parameter
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5353 次 |
| 最近记录: |