我需要使用 ADO.NET 将一系列命令发送到 SQL 2008,以便逐个执行。我应该为我发送的每个 SQL 创建一个新的 SQLCommand 吗?
或者重用相同的 SQLCommand 并仅更改 CommandText 属性?
谢谢,内斯特
SqlCommands 非常轻量。您每次都可以安全地创建一个新的。
参数化命令存在一些复杂性,您需要清除和重置所有参数,此时创建新命令是干净、易于理解且有效的。
此外,通常每次都使用一个新的 SqlConnection 也是可以的。自动的内置连接池是使其高效的“魔力”。
我用这个:
public void ExecuteQuery(string query)
{
this.ExecuteQuery(query, null);
}
public void ExecuteQuery(string query, Dictionary<string, object> parameters)
{
using (SqlConnection conn = new SqlConnection(this.connectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = query;
if (parameters != null)
{
foreach (string parameter in parameters.Keys)
{
cmd.Parameters.AddWithValue(parameter, parameters[parameter]);
}
}
cmd.ExecuteNonQuery();
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)