首頁 >資料庫 >mysql教程 >為什麼`cmdInserttblProductFrance.ExecuteNonQuery()`拋出「已經有一個與此連接關聯的開啟的DataReader,必須先關閉它」?

為什麼`cmdInserttblProductFrance.ExecuteNonQuery()`拋出「已經有一個與此連接關聯的開啟的DataReader,必須先關閉它」?

Barbara Streisand
Barbara Streisand原創
2024-12-09 22:22:15936瀏覽

Why Does `cmdInserttblProductFrance.ExecuteNonQuery()` Throw

異常:「已經有一個與此連接關聯的開啟的DataReader,必須先將其關閉」

在此使用MySQL 的.NET 專案中、Visual Studio 2010/.Net 4.0 中,在使用資料讀取器時嘗試執行附加SQL語句時會出現異常。具體來說,異常發生在 cmdInserttblProductFrance.ExecuteNonQuery();。

根本原因在於資料讀取器和 ExecuteNonQuery 方法使用相同的連接。根據MSDN,這是一種不受支援的做法:

「請注意,當DataReader 開啟時,該連線僅由該DataReader 使用。您無法為該連線執行任何命令,包括建立另一個DataReader ,直到原始DataReader 關閉。

以上是為什麼`cmdInserttblProductFrance.ExecuteNonQuery()`拋出「已經有一個與此連接關聯的開啟的DataReader,必須先關閉它」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn