データベースプログラミングには、データリーダーの処理が含まれることが多く、それらに関連するエラーに遭遇することは珍しいことではありません。 この記事では、「このコマンドに関連付けられているオープンデータリーダーがすでに閉じている必要がある」という一般的なエラーについて説明します。このエラーメッセージは、以前のクエリのデータリーダーが開いたままである間、新しいクエリが実行を試みていることを意味します。
根本原因を理解AccountsReport
の場合)が実行されます。この同時アクセスは、同じデータベース接続で複数のデータリーダーを使用しようと試み、エラーにつながります。
DateLastUpdated
ソリューション:複数のアクティブな結果セット(MARS)を有効にします
MARSをアクティブにするには、接続文字列のプロバイダーセクションに
エラーを防ぐためのベストプラクティスMultipleActiveResultSets=true
<code>connectionString += "MultipleActiveResultSets=true;";</code>データリーダーを明示的に閉じます:
使用後に
またはClose()
Dispose()
効率的な接続管理:以上が「コマンドに関連付けられているDataReaderを最初にクローズする必要がある」エラーをデータベースクエリで修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。