2016-07-27 73 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

相關問題