UPDATE语句中的语法错误 - MS。访问

时间:2017-03-15 02:52:36

标签: sql vb.net

我尝试更新我的数据库,但语法错误仍在继续。我试图找到语法错​​误,但我找不到它。这个数据库是密码保护的。

sql12 = "SELECT * FROM x Where id='rd1996'"  
da12 = New OleDb.OleDbDataAdapter(sql12, con)    
da12.Fill(ds12, "tbl12")

Dim cd As New OleDb.OleDbCommandBuilder(da12)

ds12.Tables("tbl12").Rows(0).Item(1) = txtNNM.Text
ds12.Tables("tbl12").Rows(0).Item(2) = txtNPS.Text
DataGridView1.DataSource = ds12.Tables("tbl12")

da12.Update(ds12, "tbl12") 

1 个答案:

答案 0 :(得分:-1)

最常见的原因是您的一个列名称是保留字或包含空格或其他特殊字符。在查询中使用通配符时,命令构建器不会转义操作命令中的列名称,并且会产生语法错误。您有三种选择:

  1. 将您的列名更改为不需要转义的内容。 即使您使用其他选项之一,也应该这样做。
  2. 不要在查询中使用通配符,而是指定每个列, 在这种情况下,你必须至少引用违规行为 列和命令构建器将跟随您的主角。
  3. 设置命令的SharedInfoQuotePrefix属性 构建器,因此它将所有列名称包装在这些值中。对于 访问,你会使用" ["和"]"分别