麻烦更新到阅读器循环内的mysql

时间:2011-12-14 16:43:29

标签: c# mysql

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

这对我不起作用。

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

CODE

    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();

            }
        }

1 个答案:

答案 0 :(得分:1)

我认为最后一个命令.ExecuteReader()尝试再打开一个阅读器,但是无法使用一个连接。首先关闭第一个打开的阅读器,然后修改此表;或尝试使用command.ExecuteNonQuery()方法。