0

IDataReader を使用して、ストアド プロシージャを使用して db からデータを取得しています。つまり、このようなもの

using (IDataReader Reader = SqlHelper.ExecuteReader(ConnectionString, "StoredProc1", sqlParam))
{
     while (Reader.Read())
     {
     }
}

その場合、リーダーを手動で閉じる必要がありますか? 私の疑問は、実行後にUsingディレクティブを使用しているため、リーダーが自動的に閉じられるかどうかです。

ありがとう、

マヘシュ

4

1 に答える 1

2

を使用していてusing、返されたリーダーが実装しているためIDisposableDispose()が自動的に呼び出されます。正しく実装されている(そして実装されている)と仮定するとDispose()、オブジェクトを安全に廃棄できるようにするために必要なことは何でも実行します。それを呼び出す必要がある場合は、Close()Closeを呼び出します。または、私たちが知る必要のない内部の同等物。

于 2011-04-18T10:17:53.400 に答える