投稿者 魔界の仮面弁士  (社会人) 投稿日時 2023/8/29 17:01:20
その接続で、既に ExecuteReader が実施されている場合、
その SqlDataReader を閉じるまで、次の操作は行えません。

複数の結果セットを保持したい場合には、このような手法があります。

(案1) 全部読み切ってから閉じて、次のカーソルを開く
 → Dapper .NET などといった ORM ライブラリを併用すると便利
 → WinForms などへの画面表示が必要なら、DataAdapter 経由で DataTable に収める

(案2) SQL Server の MARS (multiple active result-sets) 機構を用いる
https://learn.microsoft.com/ja-jp/previous-versions/sql/sql-server-2008-r2/ms187602%28v=sql.105%29?WT.mc_id=DT-MVP-8907

(案3) トランザクション上の問題が無いようであれば、複数の接続を併用する