首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建新的SQLCommand或重用相同的SQLCommand

创建新的SQLCommand或重用相同的SQLCommand
EN

Stack Overflow用户
提问于 2009-10-05 03:46:00
回答 1查看 4.5K关注 0票数 16

我需要使用ADO.NET向SQL2008发送一个命令列表,以便一个接一个地执行。我应该为我发送的每个SQL创建一个新的SQLCommand吗?或者重用相同的SQLCommand并只更改CommandText属性?谢谢,内斯特

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-05 03:46:58

SqlCommands是相当轻量级的。每次都可以安全地创建一个新的。

参数化命令有一些复杂之处,您需要清除并重置所有参数,在这一点上,创建一个新命令是干净、易于理解和有效的。

此外,每次都使用新的SqlConnection通常也是可以的。自动的、内置的连接池是让这一切变得高效的“魔法”。

我使用的是:

代码语言:javascript
复制
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();
        }
    }
}
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1518188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档