继续得到一个" System.Data.OleDb.OleDbException:' UPDATE语句中的语法错误"错误

时间:2017-06-07 22:37:28

标签: vb.net

美好的一天,我一直在UPDATE语句中得到一个" System.Data.OleDb.OleDbException:'语法错误"错误。

有人可以协助解释原因和地点吗? 任何帮助都将受到极大关注

以下是代码

Try
        conec.Open()

        Dim cmd As New OleDbCommand("UPDATE tblCreate Set Username = '" & txtUserName.Text & "', EMail = '" & txtEmail.Text & "', FirstName =  '" & TxtName.Text & "', LastName =  '" & txtSurname.Text & "', Access =  '" & cmbAccess.SelectedItem & "', CreatedBY =  '" & Label9.Text & "', DateCreated =  '" & Label10.Text & "', ChangedBY =  '" & Label6.Text & "', DateChanged = '" & Date.Now.ToString("yyyy-MMMM-dd  hh:mm tt") & "' WHERE UserName = " & txtUserName.Text & ";")


        cmd.CommandType = CommandType.Text
        cmd.Connection = conec
        cmd.ExecuteNonQuery()
        MessageBox.Show("Data Updated" & vbCrLf & "Done")
        conec.Close()

    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

1 个答案:

答案 0 :(得分:1)

看起来你的where子句中缺少撇号,请尝试:

   Dim cmd As New OleDbCommand("UPDATE tblCreate Set Username = '" & txtUserName.Text & "', EMail = '" & txtEmail.Text & "', FirstName =  '" & TxtName.Text & "', LastName =  '" & txtSurname.Text & "', Access =  '" & cmbAccess.SelectedItem & "', CreatedBY =  '" & Label9.Text & "', DateCreated =  '" & Label10.Text & "', ChangedBY =  '" & Label6.Text & "', DateChanged = '" & Date.Now.ToString("yyyy-MMMM-dd  hh:mm tt") & "' WHERE UserName = '" & txtUserName.Text & "';")

我建议使用SQL参数,但它们更易于维护。