OledbConnection.Dispose()
接続を閉じますか?
私はそれを知ってSqlConnection
いますが、どうOledbConnection
ですか?
OledbConnection.Dispose()
接続を閉じますか?
私はそれを知ってSqlConnection
いますが、どうOledbConnection
ですか?
はい、そうです。
ソース: OleDbConnection.Dispose メソッド (ブール値)
Dispose メソッドは Close を呼び出し、接続プールから OleDbConnection を削除します。
詳細についてはRemarks
、参照リンクのセクションを参照して、管理対象リソースと非管理対象リソースの両方を解放する場合について確認してください。
はい、 MSDN http://msdn.microsoft.com/en-us/library/aa325890(v=vs.71).aspxのドキュメントによるとOleDbConnection.Dispose()
、OleDbConnection.Close()
.
はい、MSDN :
Dispose メソッドは Close を呼び出し、接続プールから OleDbConnection を削除します。
上記は .NET Framework 1.1 のものであることに注意してください。しかし、(この場合) 変更されていないことを期待できます。
IDbConnection
また、実装するすべてのクラスがメソッド内の接続を「閉じる」ことをほぼ 100% 確信できますDispose
。特定の実装にとってそれが何を意味するかは関係ありませんが、Close
手動で呼び出すのと同じです。
そのように動作しないすべての実装は、IMO が壊れていると見なす必要があります。
これが究極の証拠です..Dispose
リフレクターを使用して取得したメソッドの実際のコード:
// System.Data.OleDb.OleDbConnection
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._userConnectionOptions = null;
this._poolGroup = null;
this.Close();
}
this.DisposeMe(disposing);
base.Dispose(disposing);
}
はい。そうでない場合、そのリソースを完全に破棄することはできません。BinaryReader、BinaryWriter などはすべて、基になるストリームも閉じます