Vb.net System.Data.OleDb.OLEDBEException:&x27;INSERT INTO语句中的语法错误;

Vb.net System.Data.OleDb.OLEDBEException:&x27;INSERT INTO语句中的语法错误;,vb.net,visual-studio,Vb.net,Visual Studio,我试图在visual basic中创建“创建”按钮,以便记录进入我的数据库,但出现以下错误: System.Data.OleDb.OLEDBEException:“INSERT INTO语句中出现语法错误 我的代码在这里,我在da.Update(ds,“Test”)上得到错误 任何帮助都会令人惊讶。当命令生成器出现此错误时,通常是因为一个或多个列名是保留字或包含空格或其他特殊字符。在您的情况下,您可能有一个保留字,即密码,在电子邮件地址中还有一个空格 第一个选择应该是避免使用此类列名。在这种情况

我试图在visual basic中创建“创建”按钮,以便记录进入我的数据库,但出现以下错误:

System.Data.OleDb.OLEDBEException:“INSERT INTO语句中出现语法错误

我的代码在这里,我在
da.Update(ds,“Test”)上得到错误


任何帮助都会令人惊讶。

当命令生成器出现此错误时,通常是因为一个或多个列名是保留字或包含空格或其他特殊字符。在您的情况下,您可能有一个保留字,即
密码
,在
电子邮件地址
中还有一个空格

第一个选择应该是避免使用此类列名。在这种情况下,
电子邮件地址
应该是
电子邮件地址
,就像在VB中用作标识符一样。
Password
不一定有一个明显的替代方案,除了密码几乎不应该存储在clear中,因此一个真正的应用程序应该散列密码,然后该列可以命名为
PasswordHash

否则,可以设置命令生成器的
QuotePrefix
QuoteSuffix
属性,以便转义列名。在您的例子中,“[”和“]”是您可能应该使用的值,即

cb.QuotePrefix = "["
cb.QuoteSuffix = "]"

根据错误,它与您的sql文本相关。所以我希望你能提供给我,这样我可以做一些测试。
cb.QuotePrefix = "["
cb.QuoteSuffix = "]"