私は次のクラスを持っています:
public class Data
{
static public SqlDataReader ExecutSql(string sql)
{
var cmd = new SqlCommand(sql, SqlCon.Conn);
var data = cmd.ExecuteReader();
return data;
}
}
asp.net Webページから呼び出され、「このコマンドに関連付けられた開いているDataReaderが既にあり、最初に閉じる必要があります」というエラーが表示されます。
明らかに、データリーダーを実行する直前に新しいSqlCommandをインスタンス化しています。私はWeb開発に不慣れです(私のバックグラウンドはWinFormsです)が、それでも、文字通り作成されたばかりのコマンドに関連付けられたオープンDataReaderをすでに持つことができる方法を理解できませんか?マルチスレッドのような問題かどうかは理解できたかもしれませんが、デバッガーでコードをステップ実行しているため、このエラーが発生します。
誰かが私がここで欠けているものを教えてくれませんか?