如何修复数据库更新命令错误?

时间:2013-10-31 23:01:05

标签: database visual-studio-2008 ms-access-2007

我正在制作一个可以在数据库中添加,删除和编辑用户数据的项目。

我使用的是Microsoft Visual Basic 2008 Express Edition,对于数据库,我使用的是Microsoft Access 2007-2013。

好的,基本上我的问题是使用'添加'按钮和'删除'按钮以及'保存'按钮,当我单击'添加'按钮时,我收到此错误:

  

INSERT INTO语句中的语法错误。

代码下的

dtaadpUser.Update(dtasetSB, "tbluser_data")

添加按钮的完整代码:http://gyazo.com/3239e0abb3288d693f604998a90b490c

在搜索框中搜索UserID或Surname并显示用户,然后点击'删除'按钮后,我收到此错误:

  

查询表达式中的语法错误(缺少运算符)'((UserID =?)AND((?= 1 AND名称IS NULL)OR(名字=?))AND((?= 1 AND Surname IS NULL) OR(姓氏=?))和((?= 1 AND性别为空)或(性别=?))AND((?= 1 AND类型IS NULL)或(类型=?))AND((?= 1 AND DOB IS NULL)或(DOB ='。

代码下的

dtaadpUser.Update(dtasetSB, "tbluser_data")

删除按钮的完整代码:http://gyazo.com/0114dbf615593fd1cc282cbbd3265371

当我点击'编辑'按钮并更改其中一个字段然后点击'保存'时,我收到此错误:

  

UPDATE语句中的语法错误。

代码下的

dtaadpUser.Update(dtasetSB, "tbluser_data")

我认为问题与.Update命令有关,但我可能错了,这就是我的想法,无论哪种方式我都不知道如何解决问题......

1 个答案:

答案 0 :(得分:1)

里面有一个空间。这将在更新插入和删除查询中出现问题。 您可以尝试使用OleDbCommandBuilder解决问题

Dim adapter = new OleDbDataAdapter("SELECT * FROM tbluser_data", connection)
Dim builder = new OleDbCommandBuilder(adapter)
builder.QuotePrefix = "["
builder.QuoteSuffix = "]"

这应该足以强制适配器使用OleDbCommandBuilder创建适当的命令,字段名称用方括号括起来。

然而,这应该使用Access .....来测试。