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

わんくま同盟

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

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


(過去ログ 99 を表示中)
■58968 / )  Re[3]: OleDb接続時のハンドル定義の方法
□投稿者/ ピートモス (1回)-(2011/05/06(Fri) 19:19:16)
No58966 (エル さん) に返信
> 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コマンドを記述しています。

例えば、上記サイトには以下のように記述があります。

> OleDbDataReader を閉じた後に呼び出すことができるのは、IsClosed プロパティと RecordsAffected プロパティだけです。
> RecordsAffected プロパティは、OleDbDataReader が存在している間はいつでも呼び出すことできますが、正しい戻り値を得るために、
> RecordsAffected の値を取得する前には、必ず Close を呼び出してください。

Close後に参照できるメンバがあるという説明があるため、あえてOleDbDataReaderのCloseメソッドを使っているのかも知れません。
(Usingで閉じたらこれらメンバにはアクセスできませんしね。)
ただし、OleDbDataReaderをCloseした後にこれらのメンバを参照する必要がないならば、Usingを使った方がいいのではないでしょうか?
それに、インスタンスのDisposeという観点においてはIDisposableなクラスにおいてはUsingを使うように統一した方がすっきりするかも知れません。

そもそも、msdnのサンプルは色々な人が作成していると思いますので、厳密に統一されているという保証もないでしょうし、
あまり深く考えずに、あくまでもサンプルだととらえればいいような気もします。
返信 編集キー/


管理者用

- Child Tree -