我剛剛建議將整個using
塊放在try
之內,否則using
範圍將防止捕捉異常。但是,如果拋出異常,是不是會阻止using
正確地處理其資源?如果我有下面的代碼,我應該在哪裏放置try
塊?使用IDisposable的時候放置try/catch的位置
using (connSQL = new SqlConnection(strConn))
{
connSQL.Open();
using (SqlCommand commSQL = new SqlCommand(strPreparedStatement, connSQL))
{
if (sqlParameters != null)
{
for (int i = sqlParameters.GetLowerBound(0); i <= sqlParameters.GetUpperBound(0); i++)
{
commSQL.Parameters.Add(sqlParameters[i]);
}
}
drSQL = commSQL.ExecuteReader();
dtReturn.Load(drSQL);
commSQL.Parameters.Clear();
}
}
在這個應用程序中,確保連接到數據庫由於例外而不會累積起來要重要得多。
有趣。所有非常好的點。我讚賞關於'SqlDataReader'的一點。我完全錯過了。 – Andrew
看到你的編輯,再簡單得多。謝謝。 – Andrew