【问题标题】:C# - MysqlDataReader not readingC# - MysqlDataReader 不读取
【发布时间】:2017-03-15 09:14:07
【问题描述】:

这是atm的代码:

if (e.KeyCode == Keys.Enter && chatTextRTB.Text.Length > 0) <br>
        {
            con.Open();
            MySqlDataReader mdr;
            MySqlCommand cmd;
            string sq6 = ("UPDATE `new`.`chat_mod` SET `cCstatus`= cCstatus + 1 WHERE  `ID`= 1;");
            cmd = new MySqlCommand(sq6, con);
            mdr = cmd.ExecuteReader();

            if (mdr.Read())
            {
                ***chatClean = mdr.GetInt32("cCstatus");***
                if(chatClean > 20)
                {
                    sq6 = ("UPDATE `new`.`chat_mod` SET `cCfirst`= cCfirst + 1, `cClast`= cClast+1 WHERE  `ID`= 1;");
                }
            }
            con.Close(); </pre>

chatClean = mdr.GetInt32("cCstatus");

没有从表中接收任何数据。

【问题讨论】:

  • 您正在执行更新。不返回要读取的数据集。

标签: c# mysql datareader


【解决方案1】:

更新不返回数据。它们返回受影响的行数。你应该打电话给ExecuteNonQuery而不是ExecuteReader

This answer 建议创建一个过程来选择您已更新的内容,尽管使用的方法并不完全安全,因为您最终可能会在两个语句之间添加/删除行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 2011-03-21
    • 2020-06-18
    • 1970-01-01
    • 2011-10-23
    相关资源
    最近更新 更多