こんにちは、メソッドからDataReaderを取得しようとしていますが、閉じたDbDataReaderオブジェクトが返されています。この問題を解決するためのアイデア。私は、コードをより良くするための提案をしています。DbDataReaderエラー:リーダーが閉じているときにReadを呼び出す試みが無効です
おかげ
UPDATE 私は、データベース接続を開いたままにしたくありません。接続を閉じた後、開いているDataReaderを返す方法はありますか。
internal DbDataReader ExecuteReader(SqlCommand command, CommandBehavior behavior, string connectionString)
{
DbDataReader dataReader = null;
try
{
SqlConnection connection = GetConnection(connectionString);
Open(connection);
command.Connection = connection;
command.CommandTimeout = 60;
dataReader = command.ExecuteReader(behavior);
Close(connection);
}
catch
{
}
return dataReader;
}
'return dataReader;'にブレークポイントを設定すると、この時点で閉じますか? –
こんにちは@NeilKnight、はいその時点で閉じた – Scorpion
空のキャッチブロックについて考えることもできます。あなたは確かにすべての例外を飲みたくはありませんか? –