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