c# - 在读者循环内更新到 mysql 时遇到问题

标签 c# mysql

我正在循环这些 mysql 行并处理数据。但是,在部分处理过程中,我也想更新到同一个 mysql 表中。

这对我不起作用。

command.CommandText = "UPDATE outbox SET `faxpro` = 'DONE' WHERE `id` = '" + id + "'";
                MySqlDataReader result = command.ExecuteReader();

代码

    string connString = "Server=localhost;Port=3306;Database=communications;Uid=myuser;password=mypass;";
            MySqlConnection conn = new MySqlConnection(connString);
            MySqlCommand command = conn.CreateCommand();
            command.CommandText = "SELECT * FROM outbox WHERE `faxstat` = 'Y' AND `fax` <> '' AND `faxpro` = 'PENDING'";


        try
        {

            conn.Open();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        MySqlDataReader reader = command.ExecuteReader();

        if (reader.HasRows)
        {

            while (reader.Read())
            {
               Console.WriteLine(reader["account"].ToString());
                SendFax(reader["filepath"].ToString(), reader["filepath"].ToString(), reader["id"].ToString(), reader["fax"].ToString());
                string id = reader["id"].ToString();
                command.CommandText = "UPDATE outbox SET `faxpro` = 'DONE' WHERE `id` = '" + id + "'";
                MySqlDataReader result = command.ExecuteReader();

            }
        }

最佳答案

我认为最后一个 command.ExecuteReader() 尝试打开另一个阅读器,但不可能用一个连接来完成。先关闭第一个打开的reader,然后修改这个表;或者尝试使用command.ExecuteNonQuery()方法。

关于c# - 在读者循环内更新到 mysql 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8508226/

相关文章:

c# - 从 Windows 窗体异步执行存储过程然后断开连接?

mysql - 如何使用 GROUP BY 获取与组关联的所有用户并键入

mysql - Visual Basic从MySQL读取tinyint

c# - 有没有第三方文件上传工具可以上传大于2GB的文件?

c# - 同一 using block 中的多个变量

c# - 使用 C# 以编程方式添加新的颠覆用户

MySQL 匹配 2 个字段

mysql - 用于查找素数的sql查询

php - 尝试将 php 运算符作为字符串保存在数据库中

c# - 使用 Xamarin ImageSource.FromUri ("https://my image url")如何判断是否已检索到图像