类型为#system; system.data.oledb.oledbexception'的未处理异常

时间:2015-06-09 01:26:05

标签: vb.net ado.net oledb

我正在使用Visual Basic.net 2013.当我点击按钮保存记录时,这是我收到的错误,错误指向我

da.Update(ds, "wyn")

我使用microsoft access作为数据库

错误讯息:

  

类型系统的未处理异常system.data.oledb.oledbexception'发生在system.data.dll中   附加信息:插入语句

中的语法错误

这是该按钮的源代码:

Dim cb As New OleDb.OleDbCommandBuilder(da)
Dim dsNewRow As DataRow

dsNewRow = ds.Tables("wyn").NewRow()

dsNewRow.Item("label") = txtLabel.Text
dsNewRow.Item("bcode") = txtBcode.Text

ds.Tables("wyn").Rows.Add(dsNewRow)

da.Update(ds, "wyn")

MsgBox("One record saved.")

1 个答案:

答案 0 :(得分:0)

此错误通常是由于使用保留字的列名或包含空格或其他特殊字符而导致的。最好的选择是首先避免使用这些列名。如果这不是一个选项,那么告诉命令构建器引用标识符。由于您的数据库是Access,请添加以下内容:

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

这会将生成的SQL代码中的所有列名包装在这些括号中,并防止保留字或特殊字符导致语法错误。