2017-02-09 84 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()