Я так старался, чтобы решить мою проблему, вот что я пытаюсь сделать:Update, добавить строки в DataTable VB.Net
- У меня есть файл XML, который я загружаю в наборе данных («ds») с использованием
ReadXML
, несколько таблиц занесены в набор данных, один из которых касается about is («SalesReceiptRet»), и я буду называть его в качестве таблицы . - У меня есть другая таблица в базе данных MS Access, я загрузить его в те же
набор данных с использованиемOleDBAdapter.Fill
, в DataTable с именем («dtTarget») и именем адаптера является («dbAdapter»).
Я хочу просмотреть все записи в исходной таблице, найти поле, называемое («TxnID»), чтобы найти запись в целевой таблице. Если он не существует, добавьте его, если он выполнит другую проверку и перезапишет/обновит его, используя строку источника.
вот код:
Private Sub btnTest_Click(sender As Object, e As EventArgs) Handles btnTest.Click
'Initialize command builder
Dim dbCommandBuilder As New OleDb.OleDbCommandBuilder(dbAdapter)
'Set the primary keys
ds.Tables("dtTarget").PrimaryKey = New DataColumn() {ds.Tables("dtTarget").Columns("TxnID")}
'Find rows
Dim dr As DataRow
Dim lookupRow As DataRow
For Each dr In ds.Tables("SalesReceiptRet").Rows
lookupRow = ds.Tables("dtTarget").Rows.Find(dr.Item(0))
'If the a row with a similar TxnID exists, do the following validation
If Not (lookupRow Is Nothing) Then
If lookupRow.Item(8).ToString <> "Regular" Then
'do something here to overwrite/update the matching row
End If
Else
'If the row does not exist, import it
ds.Tables("dtTarget").ImportRow(dr)
End If
Next
'Update Access
dbAdapter.Update(ds, "dtTarget")
dbConnection.Close()
End Sub
Может быть, я должен упомянуть, что обе таблицы имеет точные имена столбцов для доступа «dtTarget» за исключением имеет дополнительные те, которые не кажется, вызывают проблемы, по крайней мере с импортом ряд.
Любые мысли, пожалуйста?
Что ваш код делает прямо сейчас? Разве это не обновление? Это не импорт? Это ошибка? – Tim
Он импортирует штраф, но не обновляется, потому что я ничего не написал для этого, чтобы сделать это –