Mise à jour, Ajouter des lignes à un datatable VB.Net

J'ai essayé tellement dur pour résoudre mon problème, voici ce que je suis en train de faire:

  • J'ai un fichier XML que je charge dans un dataset("ds") à l'aide de ReadXML,
    plusieurs tables sont remplies dans le dataset, celui que je suis concerné
    sur est ("SalesReceiptRet") et je vais y réfèrent comme à la source
    table.
  • J'ai une autre table dans la base de données MS Access, je le charge dans les mêmes

    dataset à l'aide d' OleDBAdapter.Fill, dans un datatable nommé ("dtTarget")
    et le nom de l'adaptateur est ("dbAdapter").

Je veux aller à travers tous les enregistrements de la table source, un champ de recherche appelé ("TxnID") pour localiser l'enregistrement dans la table cible. Si elle n'existe pas, ajouter, si ce n'est faire une autre validation et remplacer/mettre à jour à l'aide de la source de la ligne.

voici le code:

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

Peut-être que je besoin de mentionner que les deux tables ont exactement les noms de colonnes à l'exception de l'Accès "dtTarget" a d'autres, qui ne semble pas être la cause de problème au moins avec l'importation de ligne.

Pensées, s'il vous plaît?

  • Qu'est-ce que votre code en train de faire maintenant? N'est-il pas de mise à jour? N'est-il pas de l'importation? Est-il de lancer une erreur?
  • C'est de l'importation de bien, mais pas de mise à jour car je n'ai pas écrit quelque chose pour elle de le faire