Я хочу обновить данные своей базы данных на VB.net, но получаю синтаксис ошибки - PullRequest
0 голосов
/ 05 марта 2019

Это моя проблема:

Когда я нажимаю кнопку обновления, я не знаю, как исправить эту ошибку:

Мое сообщение об ошибке:

«Ошибка: синтаксическая ошибка в запросе объединения»

Это мой код:

Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click
    TestConnection()
    Try
        Dim cmd As OleDbCommand
        Dim sql As String
        sql = "(UPDATE tblUsers SET Username = '" & txtUserName.Text & "', Password = '" & txtUserPassword.Text &
                "', Usertype = '" & cbousertype.Text & "', WHERE UserID = '" & txtUserID.Text & "');"
        cmd = New OleDbCommand(sql, Conn)
        cmd.ExecuteNonQuery()
    Catch ex As Exception
        MsgBox("Error: " & ex.Message)
    End Try
End Sub

Это неправильно?

This is my Error message

This is My code

1 Ответ

0 голосов
/ 05 марта 2019

Теперь моя проблема была решена, большое спасибо, я изменил свой код, чтобы использовать параметры, и тогда он работает. Теперь мой код:

    Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click 

    TestConnection()
    Dim cmd As OleDbCommand
    Dim sql As String
    sql = "UPDATE tblUsers SET Username=?, [Password]=?, Usertype=? where UserID=?"
    cmd = New OleDbCommand(sql, Conn)
    cmd.Parameters.AddWithValue("@p1", txtUserName.Text)
    cmd.Parameters.AddWithValue("@p2", txtUserPassword.Text)
    cmd.Parameters.AddWithValue("@p3", cbousertype.Text)
    cmd.Parameters.AddWithValue("@p4", txtUserID.Text)
    cmd.ExecuteNonQuery()
    MsgBox("Data Has Been Updated", MsgBoxStyle.Information, "Updated")
    ShowUser()
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...