質問: VisualBasic2019でSQL Serverのデータベースからデータ取得することについて
回答: 各クラスの使い方などはマクロソフト社公式のドキュメントであるDocs(旧MSDN)に当たるのが定石です。DataReaderの説明はここにありますね。 該ページから該当箇所を引用します。 While a DataReader is open, the Connection is in use exclusively by that DataReader. You cannot execute any commands for the Connection, including creating another DataReader, until the original DataReader is closed.(データリーダが開いている間はコネクションを独占して使用するので、閉じるまで他のデータリーダを作ったりコマンドを実行したりはできませんよ) また、そもそもDataReader自体がシーケンシャルに逐次一つづつ値を読むためのクラスなので前とか先頭とかN番目とか出来ないのです。これにより大量のデータをメモリをパンパンに使わずに読み込むことが出来るのです。 Visual Studio2019を使ってるかと想像しますが、診断ツールは物凄くリソースを喰います。簡単にメモリ枯渇してVSのプロセスが死にます。次版のVisual Studioはいよいよ64ビット版で登場するとのことなので、あと半年待ちましょう。 また、プロセスとデータベースとのコネクションは必要な場合だけ接続しましょう。コード上はCloseしDisposeしてもADO.NET内部ではプーリングされる仕様です。プロセス起動後の初回アクセスと2回目以降でOpenのコストが全く違うことが分かる筈です。