是否在SqlCommand的构造函数中实例化一个新的SqlConnection关闭它?在构造函数中创建新的SqlConnection是否关闭?
例如:
using (SqlCommand comm = new SqlCommand(query, new SqlConnection(connString))
{
// do some stuff
}
请问该连接上调用.Close()?
是否在SqlCommand的构造函数中实例化一个新的SqlConnection关闭它?在构造函数中创建新的SqlConnection是否关闭?
例如:
using (SqlCommand comm = new SqlCommand(query, new SqlConnection(connString))
{
// do some stuff
}
请问该连接上调用.Close()?
不,它不会。 SqlCommand
不拥有该连接,所以它不会自行寻求Close
或Dispose
。
你要么需要调用Close
自己或者,可能会更好,在using语句包住它,这样Dispose
被称为当你完成它:
using (var connection = new SqlConnection(connString))
using (var command = new SqlCommand(query, connection))
{
// do some stuff
}
没有,处置该命令将不会关闭连接。一个更好的 方法是也包裹的SqlCommand在使用块以及
using (SqlConnection conn = new SqlConnection(connstring)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(cmdstring, conn)) { cmd.ExecuteNonQuery(); } }
对不起,我不知道这是一个重复的。我搜索谷歌并找不到具体的答案。 – user3093863