2016-07-27 121 views
0

是否在SqlCommand的构造函数中实例化一个新的SqlConnection关闭它?在构造函数中创建新的SqlConnection是否关闭?

例如:

using (SqlCommand comm = new SqlCommand(query, new SqlConnection(connString)) 
{ 
    // do some stuff 
} 

请问该连接上调用.Close()?

+0

对不起,我不知道这是一个重复的。我搜索谷歌并找不到具体的答案。 – user3093863

回答

1

不,它不会。 SqlCommand不拥有该连接,所以它不会自行寻求CloseDispose

你要么需要调用Close自己或者,可能会更好,在using语句包住它,这样Dispose被称为当你完成它:

using (var connection = new SqlConnection(connString)) 
using (var command = new SqlCommand(query, connection)) 
{ 
    // do some stuff 
} 
0

没有,处置该命令将不会关闭连接。一个更好的 方法是也包裹的SqlCommand在使用块以及

using (SqlConnection conn = new SqlConnection(connstring)) 
{ 
    conn.Open(); 
    using (SqlCommand cmd = new SqlCommand(cmdstring, conn)) 
    { 
     cmd.ExecuteNonQuery(); 
    } 
} 

https://stackoverflow.com/a/60934/64976

相关问题