Rumah >pangkalan data >tutorial mysql >Mengapakah `cmdInserttblProductFrance.ExecuteNonQuery()` Throw \'Sudah ada DataReader terbuka yang dikaitkan dengan Sambungan ini yang mesti ditutup dahulu\'?
Pengecualian: "Sudah ada DataReader terbuka yang dikaitkan dengan Sambungan ini yang mesti ditutup dahulu"
Dalam projek .NET ini menggunakan MySQL , Visual Studio 2010/.Net 4.0, pengecualian timbul apabila cuba melaksanakan pernyataan SQL tambahan semasa menggunakan pembaca data. Khususnya, pengecualian berlaku di cmdInserttblProductFrance.ExecuteNonQuery();.
Punca utama terletak pada penggunaan sambungan yang sama untuk kedua-dua pembaca data dan kaedah ExecuteNonQuery. Menurut MSDN, ini adalah amalan yang tidak disokong:
"Perhatikan bahawa semasa DataReader dibuka, Sambungan digunakan secara eksklusif oleh DataReader tersebut. Anda tidak boleh melaksanakan sebarang arahan untuk Sambungan, termasuk mencipta DataReader lain, sehingga DataReader asal ditutup."
Dikemas kini 2018: Rujuk kepada pautan MSDN yang dikemas kini untuk maklumat lanjut.
Atas ialah kandungan terperinci Mengapakah `cmdInserttblProductFrance.ExecuteNonQuery()` Throw \'Sudah ada DataReader terbuka yang dikaitkan dengan Sambungan ini yang mesti ditutup dahulu\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!