4

ライブラリ microsoft.practices.enterpriselibrary を使用して、SQL Server データベースにアクセスしています。ExecuteNonQuery メソッドを使用するときに接続を閉じる方法を知りたいですか?

すなわち:

using Microsoft.Practices.EnterpriseLibrary.Data.Sql;

SqlDatabase db = null;
try
{
    db = new SqlDatabase(stringConnection);
    db.ExecuteNonQuery("storedprocedure", someParams);
}
catch (Exception ex)
{
}

私は何かをすることはできません

finally
{
    if (db != null)
    {
        ((IDisposable)db).Dispose();
    }
}

では...どうすれば接続リークを回避できますか?

ありがとうございました。

4

3 に答える 3

6

「using」ブロック内にコードを配置できます。これにより、終了後に接続が確実に閉じられます。

using Microsoft.Practices.EnterpriseLibrary.Data.Sql;

SqlDatabase db = new SqlDatabase(stringConnection);
using (DbConnection con = db.CreateConnection())
{
    db.ExecuteNonQuery("storedprocedure", someParams);
}

または、con.Close() を使用できます。

于 2013-04-05T19:00:14.837 に答える