是否在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