0

在 Save Button 中阅读了很多关于 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"

请给我一些指导方针来解决这个错误。

4

2 回答 2

0

正如错误所说,您的 INSERT 语句中有错误...

DataAdapter 的“InsertCommand”指定的 INSERT 语句看起来如何?

于 2009-03-31T09:06:21.570 回答
0

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

于 2009-03-31T09:08:16.277 回答