[英]Already an open DataReader with this connection
所以基本上我在我的應用程序中有兩個連接:
conn = new MySqlConnection("server=" + ip + ";uid=" + user +";pwd=" + pass + ";database=" + db);
readconn = new MySqlConnection("server=" + ip + ";uid=" + user + ";pwd=" + pass + ";database=" + db);
我只將conn
用於執行語句,例如UPDATE和INSERT。 然后,只有當有人加入處理SELECT語句的服務器時,才使用readconn
。
然后發生這個錯誤似乎沒有模式,除了它每次都是由相同的函數引起(它對conn
連接上的事務執行INSERT查詢)。
There is already an open DataReader associated with this Connection which must be closed first.
我不明白的是,這個堆棧跟蹤顯示這個錯誤發生在使用conn
而不是readconn
的函數中。 在conn
上,永遠不會有與DataReader相關聯的DataReader。 它幾乎就像只有一個連接,但這就是為什么我專門打開兩個不同的連接,一個用於讀取,一個用於插入。
任何幫助或建議將不勝感激,也許我只是錯過了這里顯而易見的事情。
您需要使用conn.Close()關閉連接。
或者更好,使用類似的東西:
using (MySqlConnection conn = new MySqlConnection(connectionString))
{
//Your code
}
using (MySqlConnection readConn = new MySqlConnection(connectionString))
{
//Your code
}
它將自動關閉連接;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.