Nes*_*tor 13 .net sql-server ado.net
我需要使用ADO.NET向SQL 2008发送一个命令列表,一个接一个地执行.我应该为我发送的每个SQL创建一个新的SQLCommand吗?或者重用相同的SQLCommand并只更改CommandText属性?谢谢,内斯特
Joh*_*zen 17
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();
        }
    }
}
| 归档时间: | 
 | 
| 查看次数: | 4024 次 | 
| 最近记录: |