gpt4 book ai didi

c# - 已具有此连接的打开的 DataReader

转载 作者:行者123 更新时间:2023-11-29 08:08:45 27 4
gpt4 key购买 nike

所以基本上我的应用程序中有两个连接:

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 与其关联。几乎就好像只有一个连接,但这就是为什么我专门打开两个不同的连接,一个用于读取,一个用于插入。

任何帮助或建议将不胜感激,也许我只是错过了一些明显的东西。

最佳答案

您需要使用 conn.Close() 关闭连接。

或者更好,使用类似的东西:

using (MySqlConnection conn = new MySqlConnection(connectionString))
{
//Your code
}

using (MySqlConnection readConn = new MySqlConnection(connectionString))
{
//Your code
}

它将自动关闭连接;)

关于c# - 已具有此连接的打开的 DataReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22154978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com