2016-11-10 40 views
-1
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 
     Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\BlackHat\Documents\Travel.accdb") 
     Dim qry As String = "update Login set UserName='" & TextBox1.Text & "',Password='" & TextBox2.Text & "' where ID=" & Val(TextBox3.Text) 
     Dim cmd As New OleDbCommand(qry, con) 
     con.Open() 
     cmd.ExecuteNonQuery() 
     MsgBox(qry) 
     con.Close() 
    End Sub 

我傳遞了正確的值與我的變量,但我不斷收到以下錯誤 - 這是什麼問題?在Visual Basic中的SQL查詢

類型 'System.Data.OleDb.OleDbException' 未處理的異常出現在system.data.dll

其他信息:語法錯誤在UPDATE語句。

+0

的數據庫服務器使用的是? –

+3

調試qry的內容以查看發送給db的內容。代碼看起來不錯,所以也許在文本框中有一些單引號'''。並且要注意你的代碼很容易被sql注入。使用參數。 –

+1

我明白了。 這是因爲一列是「密碼」我重命名它和它的工作 –

回答

0

試試這個:

Dim qry As String ="update Login set UserName='" & TextBox1.Text & "',Password='" & TextBox2.Text & "' where ID=" & Val(TextBox3.Text) & ""