ホームページ >データベース >mysql チュートリアル >`cmdInserttblProductFrance.ExecuteNonQuery()` が「この接続に関連付けられた開いている DataReader がすでに存在します。最初に閉じる必要があります」をスローするのはなぜですか?
例外: 「この接続に関連付けられた開いている DataReader がすでに存在します。最初に閉じる必要があります。」
MySQL を使用するこの .NET プロジェクトではVisual Studio 2010/.Net 4.0 では、データ リーダーの使用中に追加の SQL ステートメントを実行しようとすると例外が発生します。具体的には、cmdInserttblProductFrance.ExecuteNonQuery(); で例外が発生します。
根本的な原因は、データ リーダーと ExecuteNonQuery メソッドの両方で同じ接続が使用されていることにあります。 MSDN によると、これはサポートされていない行為です:
「DataReader が開いている間、接続はその DataReader によって排他的に使用されることに注意してください。別の DataReader の作成を含め、接続に対してコマンドを実行することはできません。元の DataReader は閉じられています。"
2018 年更新: 詳細については、更新された MSDN リンクを参照してください。情報。
以上が`cmdInserttblProductFrance.ExecuteNonQuery()` が「この接続に関連付けられた開いている DataReader がすでに存在します。最初に閉じる必要があります」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。