DataReader während der Verbindungsausführung geöffnet
Bei der Verwendung eines Visual Studio 2010/.Net 4.0- und MySQL-Projekts stieß ein Entwickler auf die Ausnahme: „ Mit dieser Verbindung ist bereits ein offener DataReader verknüpft, der zuerst geschlossen werden muss.“
Der betreffende Code versucht dies Führen Sie eine weitere SQL-Anweisung aus, während ein Datenleser geöffnet ist. Insbesondere wird eine Ausnahme in der Zeile cmdInserttblProductFrance.ExecuteNonQuery(); ausgelöst.
Dieses Problem tritt auf, weil die Verbindung sowohl für den Datenleser als auch für den ExecuteNonQuery-Befehl verwendet wird. Gemäß MSDN wird eine solche Verwendung nicht unterstützt:
"Beachten Sie, dass die Verbindung ausschließlich von diesem DataReader verwendet wird, während ein DataReader geöffnet ist. Sie können keine Befehle für die Verbindung ausführen, einschließlich der Erstellung eines weiteren DataReaders, bis der Der ursprüngliche DataReader ist geschlossen.“
Um dieses Problem zu beheben, schließen Sie den Datenreader, bevor Sie versuchen, die zusätzliche SQL-Anweisung auszuführen.
Das obige ist der detaillierte Inhalt vonWarum wirft „ExecuteNonQuery()' die Meldung „Es ist bereits ein DataReader geöffnet...' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!