我正在制作一个可以在数据库中添加,删除和编辑用户数据的项目。
我使用的是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
命令有关,但我可能错了,这就是我的想法,无论哪种方式我都不知道如何解决问题......
答案 0 :(得分:1)
里面有一个空间。这将在更新插入和删除查询中出现问题。 您可以尝试使用OleDbCommandBuilder解决问题
Dim adapter = new OleDbDataAdapter("SELECT * FROM tbluser_data", connection)
Dim builder = new OleDbCommandBuilder(adapter)
builder.QuotePrefix = "["
builder.QuoteSuffix = "]"
这应该足以强制适配器使用OleDbCommandBuilder创建适当的命令,字段名称用方括号括起来。
然而,这应该使用Access .....来测试。