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



问题陈述。

基本上,我从 Web 服务返回的 3 - 50 个参数作为 NVP 数组返回,然后我需要遍历它们为每个参数创建 SQL 命令参数并调用存储过程。 有没有比以下方法更有效的处理方法?

 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();
                             }
                         }

我个人在存储过程的 WHERE 子句中使用 ISNULL 或 COALESCE。除非您希望在 c# 中执行此操作...

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

相关内容

  • 没有找到相关文章

最新更新