C# - MysqlDataReader 不读取

C# - MysqlDataReader not reading

这是 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");

没有收到来自 table 的任何数据。

更新不 return 数据。他们 return 受影响的行数。您应该调用 ExecuteNonQuery 而不是 ExecuteReader.

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