相关疑难解决方法(0)

SqlCommand.Dispose是否关闭连接?

我可以有效地使用这种方法吗?

using(SqlCommand cmd = new SqlCommand("GetSomething", new SqlConnection(Config.ConnectionString))
{
    cmd.Connection.Open();
    // set up parameters and CommandType to StoredProcedure etc. etc.
    cmd.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)

我担心的是:SqlCommand的Dispose方法(在退出using块时调用)是否会关闭底层的SqlConnection对象?

.net garbage-collection dispose sqlcommand sqlconnection

51
推荐指数
2
解决办法
4万
查看次数

如果关联的SqlConnection将被处理,是否需要SqlCommand.Dispose()?

我通常使用这样的代码:

using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString))
{
   var command = connection.CreateCommand();
   command.CommandText = "...";
   connection.Open();
   command.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)

我会command自动处理吗?或者不是,我必须把它包装成using块?是否需要处理SqlCommand

c# ado.net dispose sqlcommand sqlconnection

26
推荐指数
4
解决办法
3万
查看次数