我注意到This question,但我的问题更具体一些。
使用有什么好处吗
using (SqlConnection conn = new SqlConnection(conStr))
{
using (SqlCommand command = new SqlCommand())
{
// dostuff
}
}
代替
using (SqlConnection conn = new SqlConnection(conStr))
{
SqlCommand command = new SqlCommand();
// dostuff
}
显然,如果您计划在同一个连接上运行多个命令,这很重要,因为关闭一个连接SqlDataReader
比关闭和重新打开一个连接更有效(调用conn.Close();conn.Open();
也将释放连接)。
我看到很多人坚持认为未能关闭SqlDataReader
意味着留下开放的连接资源,但这是否仅适用于您不关闭连接的情况?