0
如果我有這樣的事情:的SqlCommand和SqlConnection的
using(SqlCommand sqlCmd = CreateSqlCommand("load_collection_get", false))
{
// Code
}
CreateSqlCommand樣子:
public static SqlCommand CreateSqlCommand(string storedProc, bool transaction)
{
SqlCommand sqlCmd = new SqlCommand(storedProc, sqlHelper.GetConnection());
sqlCmd.CommandType = System.Data.CommandType.StoredProcedure;
if(transaction)
sqlCmd.Transaction = sqlHelper.GetTransaction();
return (sqlCmd);
}
SqlHelper.GetConnection()返回打開SqlCommand對象
在的結束使用(SqlCommand ...)會關閉我的連接?或者我還需要在使用結束之前調用SqlConnection.Close?
+1。值得強調的是,Dispose of SqlCommand不會關閉連接,我認爲這是因爲它可能不是唯一在這個連接上運行的東西。 – 2010-01-18 10:05:54
好的謝謝,不是我希望的答案,但可以aee爲什麼是這樣,另一個使用(SqlConnection ...)需要我認爲! – Jay 2010-01-18 10:31:33
@Yossi Dahan絕對,加上你可能需要不止一個命令來操作連接(也許都包含在SqlTransaction中)。我已經更新了我的答案,以包括這一點。 – 2010-01-18 10:37:34