你好,我的应用程序中有一个关卡系统,使用200点上升一个级别,所以当你有0分你不能升级lvl时,我在mysql中放置“unsigned”以不允许我的积分列中的负值。但现在,当用户获得0分并尝试升级lvl时显示该消息:
我将此代码添加到lvl,并扣除200分:
MysqlConn = New MySqlConnection
MysqlConn.ConnectionString =
"server=xxxx;userid=xxxxx;password=xxxxx;database=xxxx"
Try
MysqlConn.Open()
Dim query As String = "UPDATE EmployeeInfo Set nivel= nivel + 1,puntos = puntos - 200 WHERE user_name = ('" & My.Settings.user_name & "') AND password = ('" & My.Settings.user_password & "')"
Dim cmd As New MySqlCommand(query, MysqlConn)
cmd.ExecuteNonQuery()
MysqlConn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
Finally
MysqlConn.Dispose()
End Try
我只是想不显示错误窗口,并显示一个简单的msgbox,没有关于我的mysql数据库的信息。提前谢谢。
答案 0 :(得分:1)
您可以使用查询逻辑消除这种情况:如果您想在nivel
为零时增加puntos
,请确保没有为puntos
插入负数:
puntos = GREATEST(puntos - 200, 0) ...
如果您不希望在puntos
为零时更新任何内容,只需在查询末尾添加一个子句:
AND puntos > 0