2017-02-09 87 views
1

我已準備了我與Access數據庫vb.net的項目,但我越來越喜歡跟隨「在UPDATE語句的語法錯誤」VB.net - 在MS Access SQL更新查詢語法錯誤

我已經使用了錯誤代碼:

Dim cn As New OleDb.OleDbConnection 
Dim cm As New OleDb.OleDbCommand 
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NAV Vikram\DATABASE NAVPREET.mdb" 
cn.Open() 
cm.Connection = cn 
cm.CommandText = "UPDATE DATAENTRY2 set [DIAGNOSIS]='" & TextBox13.Text & "',WHERE[opdno]='" & TextBox1.Text & "' " 
cm.ExecuteNonQuery() 

任何幫助,將不勝感激。

回答

1

忽略,之前WHERE並在它後面增加空格。更改:

cm.CommandText = "UPDATE DATAENTRY2 set [DIAGNOSIS]='" & TextBox13.Text & "',WHERE[opdno]='" & TextBox1.Text & "' " 

到:

cm.CommandText = "UPDATE DATAENTRY2 set [DIAGNOSIS]='" & TextBox13.Text & "' WHERE [opdno]='" & TextBox1.Text & "' " 

而且使用SQL參數。 (不太喜歡vb向你展示)

0

你的查詢語法錯誤。請刪除查詢中where子句之前使用的逗號(,),因爲它用於分隔兩個不同的列

Dim cn As New OleDb.OleDbConnection 
Dim cm As New OleDb.OleDbCommand 
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NAV Vikram\DATABASE NAVPREET.mdb" 
cn.Open() 
cm.Connection = cn 
cm.CommandText = "UPDATE DATAENTRY2 set [DIAGNOSIS]='" & TextBox13.Text & "' WHERE[opdno]='" & TextBox1.Text & "' " 
cm.ExecuteNonQuery()