这是代码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/