【问题标题】:I want to update my data of my database in VB.net but I get Error Syntax我想在 VB.net 中更新我的数据库数据,但我得到错误语法
【发布时间】:2019-03-11 07:17:07
【问题描述】:

这是我的问题:

当我点击更新按钮时,我不知道如何解决这个错误:

我的错误信息是:

“错误:联合查询中的语法错误”

这是我的代码:

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

错了吗?

【问题讨论】:

  • 虽然我在您的查询中没有看到 UNION 的使用,但您在 WHERE 之前有一个额外的逗号。删除它,然后重试。
  • 我已经删除了它,但它仍然是错误@shahkalpesh
  • 是不是同样的错误(union)?如果没有,请重新发布您看到的错误。你点击了什么按钮?你贴过同一个按钮的代码吗?
  • 我收到了同样的错误信息。我点击我的更新按钮。是的,我发布的代码是更新按钮上的代码单击@shahkalpesh
  • 在所有代码中的msgbox("Error 上放置断点,然后单击更新按钮运行代码。我不知道错误来自哪里,除非断点可能不是来自btnUpdate_Click

标签: database vb.net ms-access


【解决方案1】:

现在我的问题已经解决了,非常感谢 我更改了我的代码以使用参数然后它工作 现在我的代码是:

    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

【讨论】:

  • 使用完后关闭连接。将所有一次性的东西放入 Using - End Using 块中。
  • 你能解释一下为什么我需要将它们放入 Using please@Lars Tech
  • 最终使用部分会自动处理对象。您将连接保持打开状态,这是一种糟糕的管理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多