将记录添加到访问数据库,此代码中的错误在哪里?

时间:2009-03-31 08:59:22

标签: vb.net ado.net insert

在“保存”按钮中阅读了很多关于DataAdapter,DataTable,..以获取此代码的信息:

'insert new row
ds.Tables("Employees").Rows.Add(ENumTxt.Text, ENameTxt.Text, EPosTxt.Text,  
  EAgeTxt.Text, ESalTxt.Text, EPhonTxt.Text, EAdrsTxt.Text)
'save changes
ds.AcceptChanges()
Try
  If ds.HasChanges Then
    Dim AffectedDS As DataSet = ds.GetChanges(DataRowState.Added)
    'im ComBuilder As New OleDb.OleDbCommandBuilder(da)
    da.InsertCommand = ComBuilder.GetInsertCommand
    da.Update(AffectedDS, "Employees")
  End If
Catch e1 As OleDb.OleDbException
  MessageBox.Show(e1.Message)
End Try

=============================================== ================================ 然后我尝试了这个:

Dim cb As New OleDb.OleDbCommandBuilder(da)
' Insert a new record in the DataSet
Dim r As DataRow = ds.Tables("Employees").NewRow()
r("EID") = ENumTxt.Text
r("EName") = ENameTxt.Text
r("Age") = EAgeTxt.Text
r("Salary") = ESalTxt.Text
r("EPhone") = EPhonTxt.Text
r("EAddress") = EAdrsTxt.Text
ds.Tables("Employees").Rows.Add(r)

' Insert the record even in the database
da.Update(ds.Tables("Employees").GetChanges())
' Align in-memory data with the data source ones
ds.AcceptChanges()

==========

在运行时,我收到了两种情况相同的错误消息

"Syntax error in INSERT INTO statement"

请给我一些指导来解决此错误。

2 个答案:

答案 0 :(得分:0)

错误在INSERT语句中,因为错误说明了......

DataAdapter的'InsertCommand'指定的INSERT语句如何?

答案 1 :(得分:0)

唯一想到的是,如果使用Commandbuilder,您的表是否定义了主键?