Mysql c#更新int值为1
本文关键字:值为 int 更新 Mysql | 更新日期: 2023-09-27 18:06:58
我使用这个方法将登录列的值增加一个:
MySqlConnection connect = new MySqlConnection(connectionStringMySql);
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = connect;
cmd.Connection.Open();
string commandLine = null;
commandLine = "UPDATE Users SET logins = (@cur_value := logins) + 1 WHERE id = @id;";
cmd.CommandText = commandLine;
cmd.Parameters.AddWithValue("@id", userId);
cmd.ExecuteNonQuery();
cmd.Connection.Close();
我得到这个Exception:
执行命令时遇到致命错误。
试试下面的代码
string commmandLine = "UPDATE Users SET logins = logins + 1 WHERE id = @id";
cmd.Set
先试试这段代码
commandLine = "UPDATE Users SET logins =1 WHERE id = @id";
如果上面的代码没有抛出任何错误,那么试试下面的代码commandLine = "UPDATE Users SET **logins =@YourValue** WHERE id = @id";
cmd.CommandText = commandLine;
cmd.Parameters.AddWithValue("@id", userId);
cmd.Parameters.AddWithValue("@YourValue", 1);//**Put your logins value**
添加以下行:
cmd.Parameters.AddWithValue("@cur_value", yourValue);
也使sql语句更清晰:
UPDATE Users
SET logins = @cur_value + 1
WHERE id = @id;
将有问题的代码片段包含在try/catch
中是一种很好的做法。代表非托管资源的类,如Stream或SqlConnection,正在实现IDisposable
接口。它们通常需要用using
语句封闭,以便能够正确释放它们的资源,即使抛出异常(或使用try/finally和finally块调用方法Close
或Dispose
)。这样你的代码就会清晰明了:)