问题陈述。
基本上,我从 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