在调用存储过程时处理可选参数

时间:2012-09-26 02:23:43

标签: c# sql-server-2008 stored-procedures dbcommand

问题陈述。

基本上我得到3到50个从Web服务作为NVP数组返回的参数然后我需要循环它们为每个创建SQL命令参数并调用存储过程。有没有比下面的方法更有效的方法来处理它?<​​/ p>

 using (SqlConnection connection = new SqlConnection(connectionString))
                         {
                             connection.Open();
                             using (SqlCommand cm = connection.CreateCommand())
                             {
                                 cm.CommandText = "MySproc";
                                 cm.CommandType = CommandType.StoredProcedure;
                                 foreach (var field in row)
                                 {

                                     cm.Parameters.AddWithValue("@" + field.Key.ToString(), field.Value.ToString());
                                 }
                                 cm.ExecuteNonQuery();
                             }
                         }

1 个答案:

答案 0 :(得分:0)

我个人在存储过程的WHERE子句中使用ISNULL或COALESCE。除非你想在你的c#...

里面做

http://blogs.x2line.com/al/archive/2004/03/01/189.aspx