SQLite Dataset mit mehreren Datatables in einem rutsch updaten

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von XBrainBug.

    SQLite Dataset mit mehreren Datatables in einem rutsch updaten

    Hallo,

    ​ich habe von MS einen Befehl der soweit gut funktioniert. Ich kann Daten aus einer SQLite Tabelle lesen und zurück schreiben. Jetzt versuche ich Daten aus mehreren SQLite Tabellen in verschiedene Datatables in einem Dataset zu lesen und schreiben. Das lesen funktioniert soweit gut aber das updaten macht Probleme.

    ​Hier mein Code zum Lesen der Daten in das Dataset. Dieser läuft durch eine For each schleife wo "Tabelle" durch die einzelnen Tabellen das SQLite Tabellen ersetzt wird.:

    VB.NET-Quellcode

    1. Public dataAdapter As New SQLiteDataAdapter()
    2. ​Private Sub test(ByVal selectCommand As String, ByVal Tabelle As String)
    3. Try
    4. Dim connectionString As String = "Data Source=Base.s3db"
    5. dataAdapter = New SQLiteDataAdapter(selectCommand, connectionString)
    6. Dim commandBuilder As New SQLiteCommandBuilder(dataAdapter)
    7. table.Locale = System.Globalization.CultureInfo.InvariantCulture
    8. dataAdapter.Fill(DataSet, Tabelle)
    9. Catch ex As SQLiteException
    10. MessageBox.Show(ex.Message)
    11. End Try
    12. End Sub


    Wenn ich jetzt aber die Daten zurück spielen will mit

    VB.NET-Quellcode

    1. ​dataAdapter.Update(DataSet, DataTable)

    ​klappt nur die als letzte ausgelesene Tabelle. Ich vermute das im Dataset nicht für jedes Datatable alle Insert, Update etc. Befehle gespeichert werden, sondern nur für das letzte. Wie kann ich das lösen oder geht es überhaupt alles mit einem Befehl zurück zu schreiben oder muss ich für jedes DataTable einen eigenen DataAdapter erstellen der die Befehle vorhält?!