2016-09-20 90 views
-1

我沃金與數據庫中的項目,我想在我的表創建一個行,使用下面的查詢:VB SQL錯誤:命令插入包含語法錯誤

"INSERT INTO USERCOINFO (username, company, streetAddress, postalCode, language, department, postOfficeBox, country, telephoneNumber, faxNumber, title, givenName, surname) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" 

該值可以用

Dim dbInsert As New OleDb.OleDbCommand 
Dim objClient = GetObject(objRecordSet.Fields("ADsPath").Value) 

Dim username = objRecordSet.Fields("Name").Value 
Dim company = objClient.company 
Dim streetAddress = objClient.streetAddress 
Dim postalCode = objClient.postalCode 
Dim lo = objClient.lo 
Dim department = objClient.department 
Dim postOfficeBox = objClient.postOfficeBox 
Dim country = objClient.co 
Dim telephoneNumber = objClient.telephoneNumber 
Dim faxNumber = objClient.facsimiletelephonenumber 
Dim title = objClient.title 
Dim givenName = objClient.givenName 
Dim surname = objClient.sn 

以下變量填充,然後我將它們綁定:

dbInsert.Parameters.AddWithValue("@p1", username) 
dbInsert.Parameters.AddWithValue("@p2", company) 
'and so on... 

我knownle GE,這是正確的,但它仍然會返回一個語法錯誤: The instruction INSERT contains a syntax error.

+0

您需要在插入你的價值觀部分帕拉姆名稱。例如:'VALUES(@etc,@ etc2)'...現在你的查詢不知道參數了......還要避免'AddWithValue'使用'Add'並指定SQL DataType ... – Codexer

+0

@TimSchmelter對不起,我的不好,認爲這是因爲標題而引起的,我把它添加到了問題的底部 – Grey

+0

@ Zaggler我已經爲其他2個表做了這個,並且它可以工作,所以我不知道爲什麼這樣做不會。 t這樣工作 – Grey

回答

1

如意見規定,並經吉姆·休伊特認爲,這的確是一個語法詞在usuage聲明中的列聲明,我已將列名更改爲其他內容,以進一步減少從語言到CoLanguage的混淆。一切都在工作。

感謝所有願意幫助的人。

MEEP, Luuk

0

試試這個

"INSERT INTO USERCOINFO (username, company, streetAddress, postalCode, language, department, postOfficeBox, country, telephoneNumber, faxNumber, title, givenName, surname) VALUES (?username, ?company, ?streetAddress, ?postalCode, ?language, ?department, ?postOfficeBox, ?country, ?telephoneNumber, ?faxNumber, ?title, ?givenName, ?surname)" 

Dim dbInsert As New OleDb.OleDbCommand 
Dim objClient = GetObject(objRecordSet.Fields("ADsPath").Value) 

Dim username = objRecordSet.Fields("Name").Value 
Dim company = objClient.company 
Dim streetAddress = objClient.streetAddress 
Dim postalCode = objClient.postalCode 
Dim lo = objClient.l 
Dim department = objClient.department 
Dim postOfficeBox = objClient.postOfficeBox 
Dim country = objClient.co 
Dim telephoneNumber = objClient.telephoneNumber 
Dim faxNumber = objClient.facsimiletelephonenumber 
Dim title = objClient.title 
Dim givenName = objClient.givenName 
Dim surname = objClient.sn 

dbInsert.Parameters.AddWithValue("@username", username) 
dbInsert.Parameters.AddWithValue("@company", company)