[英]SQL insert into error VB.NET
使用以下代碼運行vb應用程序。 我在“ INSERT INTO” SQL查詢中不斷收到錯誤,有人可以看到我在做什么錯嗎? 這是錯誤-INSERT INTO語句中的語法錯誤。
connetionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Users\Dave\Documents\joblist.mdb;"
connection = New OleDb.OleDbConnection(connetionString)
Sql = "INSERT INTO jobList (StaffID, staffName, staffLastName, note, fault, section, techID, jobcomplete) VALUES ('" & staffid & "','" & staffFN & "','" & staffLN & "','" & staffNotes & "','" & staffFault & "', '" & staffSection & "', '" & techId & "','" & ava & "')"
connection.Open()
oledbAdapter.UpdateCommand = connection.CreateCommand
oledbAdapter.UpdateCommand.CommandText = Sql
oledbAdapter.UpdateCommand.ExecuteNonQuery()
connection.Close()
Me.JobListTableAdapter.Fill(Me.JoblistDataSet2.jobList)
我假設您正在插入,因此應該使用InsertCommand
而不是UpdateCommand
屬性。
oledbAdapter.InsertCommand.CommandText = "INSERT INTO jobList (StaffID, staffName, ....
請注意,您可以使用SQL-Injection,而應改用Parameters
。 您還應該使用Using
語句來確保即使出錯也可以關閉連接。
Note
和Section
是Jet SQL中的保留字,您需要使用方括號將它們封裝起來
Sql = "INSERT INTO jobList (StaffID, staffName, staffLastName, [note], fault, " +
"[section], techID, jobcomplete) VALUES (......)"
這是您語法錯誤的來源,但是.....
除此之外,這里還有很多問題:
staffID
和techID
似乎是數據庫中的數字字段,但是您將它們的值放在單引號內,例如字符串。 如果它們是數字,那么您將在此得到另一個可能的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.