-2

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

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

好的,所以基本上我的问题是使用“添加”按钮和“删除”按钮以及“保存”按钮,当我单击“添加”按钮时出现此错误:

INSERT INTO 语句中的语法错误。

在代码下:dtaadpUser.Update(dtasetSB, "tbluser_data")

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

在搜索框中搜索用户 ID 或姓氏并显示用户然后单击“删除”按钮后,我收到此错误:

查询表达式 '((UserID = ?) AND ((? = 1 AND First name IS NULL) OR (First name = ?)) AND ((? = 1 AND Surname IS NULL) OR (Surname = ?)) AND ((? = 1 AND Gender IS NULL) OR (Gender = ?)) AND ((? = 1 AND Type IS NULL) OR (Type = ?)) AND ((? = 1 AND DOB IS NULL ) 或 (出生日期 = '.

在代码下:dtaadpUser.Update(dtasetSB, "tbluser_data")

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

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

UPDATE 语句中的语法错误。

在代码下: dtaadpUser.Update(dtasetSB, "tbluser_data")

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

4

1 回答 1

1

有一个领域,里面有一个空间。这会给您的更新插入和删除查询带来问题。您可以尝试使用 OleDbCommandBuilder 解决您的问题

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

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

但是,这应该使用 Access 进行测试.....

于 2013-10-31T23:23:14.830 回答