这是代码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");
没有从表中接收任何数据。

最佳答案

更新不返回数据。它们返回受影响的行数。您应该呼叫ExecuteNonQuery而不是ExecuteReader

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

关于c# - C#-MysqlDataReader无法读取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42805404/

10-10 23:36