[英]How can I resolve a fatal SQL statement error?
I was having problems updating information in my SQL database using my vb.net application, but recently I found the solution . 我在使用vb.net应用程序更新SQL数据库中的信息时遇到问题,但是最近我找到了解决方案 。 However now I have run into another problem which is shown in the code below:
但是,现在我遇到了另一个问题,如下代码所示:
Private Sub cmdupdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdupdate.Click
Dim conn As New MySqlConnection
Dim myCommand As New MySqlCommand
'#######
conn.ConnectionString = "server=" & frmLogin.txtserver.Text & ";" _
& "user id=" & frmLogin.txtusername.Text & ";" _
& "password=" & frmLogin.txtpassword.Text & ";" _
& "database=in_out"
'#######
myCommand.Connection = conn
myCommand.CommandText = "UPDATE event SET" _
& "status = ?Status " _
& "WHERE user_id = ?UserID AND message_id = ?MessageID AND creator = ?Creator"
myCommand.Parameters.AddWithValue("?UserID", myUserID)
myCommand.Parameters.AddWithValue("?MessageID", cbomessage.SelectedValue)
myCommand.Parameters.AddWithValue("?Status", cbostatus.SelectedItem)
myCommand.Parameters.AddWithValue("?Creator", myUserID)
myCommand.Connection = conn
Try
myCommand.Connection.Open()
myCommand.ExecuteNonQuery()
myCommand.Connection.Close()
Catch myerror As MySqlException
MsgBox("There was an error updating the database: " & myerror.Message)
End Try
End Sub
The exception message is: 异常消息是:
Fatal error encountered during command execution.
命令执行期间遇到致命错误。
I don't know if this is simply a syntax error that can be fixed easily, or something to do with my database configuration. 我不知道这仅仅是语法错误,可以很容易地解决,还是与数据库配置有关。
If I decipher your screen shot correctly, then your UPDATE statement is being put together: 如果我正确地解密了您的屏幕截图,那么您的UPDATE语句将被放在一起:
"UPDATE event SET" &
"status = ?Status" &
"WHERE user_id = ....... "
This results in: 结果是:
UPDATE event SETstatus = ?StatusWHERE user_id = .......
so you're really only missing some spaces ! 所以您实际上只缺少一些空格 !
"UPDATE event SET " & -- observe the SPACE after the SET !
"status = ?Status " & -- observe the SPACE after the ?Status
"WHERE user_id = ....... "
Add space before ; 在前添加空间; on below
在下面
conn.ConnectionString = "server=" & frmLogin.txtserver.Text & ";" conn.ConnectionString =“ server =”&frmLogin.txtserver.Text&“;” _
_
Thanks 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.