C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 99 を表示中)
■58966 / )  Re[2]: OleDb接続時のハンドル定義の方法
□投稿者/ エル (2回)-(2011/05/06(Fri) 18:18:13)
No58947 (ピートモス さん) に返信
> OleDbConnectionではOpenしたら最後はCloseする必要がありますが、
> Usingを使えば、Usingを抜けると自動的にCloseメソッドが実行されます。
> このため、OleDbConnectionがUsingで使われているのは、明示的にClose()を
> コード上に書かなくてもコネクションのクローズが実行されることを期待しているのでしょう。
>
> 処理が終わったら確実にCloseしたい場合(例えばファイルやメモリのストリームなど)には、
> Usingを使うのが確実でしょうし(1.xでtry-catch-finallyを行う代わりとして)、
> それ以外のIDisposableなクラスで、処理が終わったらリソースの解放を明示的に行いたい場合は、
> Usingを使えばいいのではないでしょうか?

ピートモスさんお返事ありがとうございます。
Usingは、Usingを抜けると自動的にCloseメソッドが実行される、とても便利で
高機能な機能であると考えています。
msdnのサンプルコード↓でもOleDbConnectionにはUsingを使用しています。
http://msdn.microsoft.com/ja-jp/library/system.data.oledb.oledbdatareader(v=vs.80).aspx
しかし、同じ事がOleDbDataReaderでも言えるのですが、
このmsdnのサンプルコードでは、OleDbDataReaderではUsingを使用せずDim−Closeで
記述しています。Closeコマンドを記述しています。

msdnのサンプルコードではOleDbConnectionではUsingを使い、OleDbDataReaderでは、
Dim−Closeを使い、使い分けているのです。この使い分けている理由と、Usingと
Dim−Closeの使い分けの方法を理解できたらと考えています。msdnのサンプルコード
がOleDbConnection、OleDbCommandとOleDbDataReaderの3つ全てでUsingを使っていれ
ば納得するのですが、使い分けています。msdnが使い分けているのに理由があると思
うのです。使い分け方の基準をご指導頂けるとありがたいです。よろしくお願いします。
返信 編集キー/


管理者用

- Child Tree -