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 的行.
这是 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 的行.