【发布时间】:2016-01-13 04:23:38
【问题描述】:
我正在尝试将表单中的数据重新添加到 Access 表中,但我不断收到以下错误消息:
在传递 DataRow 集合时,更新需要有效的 InsertCommand 有新的行。
对于我的一生,我无法弄清楚我需要做什么。
这是应该更新记录的按钮单击的代码。
Public Class Orders
Dim ClientOrderConnection As New OleDb.OleDbConnection
Dim Provider As String
Dim dbSource As String
Dim sqlQuery As String
Dim dsClientOrder As New DataSet
Dim daClientOrder As New OleDb.OleDbDataAdapter
Dim dtOrders As New Data.DataTable
Dim Booking As New ArrayList
Dim RowNumber As Integer
Dim Counter As Integer = 0
Dim NumberOfRows As Integer
Private Sub Orders_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Provider = "PROVIDER=Microsoft.ACE.OLEDB.12.0;"
dbSource = "Data Source = A2ComputingDatabase.accdb"
ClientOrderConnection.ConnectionString = Provider & dbSource
ClientOrderConnection.Open()
sqlQuery = "SELECT * FROM TblClientOrder"
daClientOrder = New OleDb.OleDbDataAdapter(sqlQuery, ClientOrderConnection)
daClientOrder.Fill(dsClientOrder, "ClientOrder")
ClientOrderConnection.Close()
NumberOfRows = dsClientOrder.Tables("ClientOrder").Rows.Count
Private Sub btnSubmit_Click(sender As System.Object, e As System.EventArgs) Handles btnSubmit.Click
If RowNumber <> -1 Then
Dim cbClientOrder As New OleDb.OleDbCommandBuilder
Dim dsClientNewRow As DataRow
dsClientNewRow = dsClientOrder.Tables("ClientOrder").NewRow()
dsClientNewRow.Item("ClientOrderNumber") = txtOrderNo.Text
dsClientNewRow.Item("ClientTelNo") = txtClientTelNo.Text
dsClientOrder.Tables("ClientOrder").Rows.Add(dsClientNewRow)
daClientOrder.Update(dsClientOrder, "ClientOrder")
MsgBox("New Reocrd added to the Database")
End If
End Sub
非常感谢任何帮助。
【问题讨论】: