SqlCommandが実行されてタイムアウトした場合、それぞれのSqlConnectionは閉じられているか、破棄されていますか?
3 に答える
6
SqlConnectionをusing
ステートメントでラップしていない限り、接続を閉じて破棄する必要があります(他の例外と同様)。
try/catch/finally
ブロックを使用することもできます。
try
{
// Create and execute your SqlCommand here
}
catch(SqlException ex)
{
// Catch the timeout
}
finally
{
// Close and Dispose the SqlConnection you're using
}
しかしusing
、はるかにクリーンで、自動的に処理されます。
using(SqlConnection conn = new SqlConnection())
{
// Do your work here.
// The SqlConnection will be closed and disposed at the end of the block.
}
于 2009-12-03T14:52:08.763 に答える
5
いいえ、あなたはまだ自分の後で片付ける必要があります。ただし、usingブロックを使用すると、次のように破棄されます。
using (SqlConnection connection = new SqlConnection(...))
{
// ...
}
于 2009-12-03T14:50:56.303 に答える
0
これはすべて、例外の後に finally 句でラップする必要があります。これにより、接続が閉じられ、SQL で関連付けられたオブジェクト リソースがクリーンアップされます。try / catch / finally を見て、finally ステートメントにクリーンアップ コードを入れてください。
于 2009-12-03T14:53:26.687 に答える