TableAdapter.Fill Daten erneut abrufen

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

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    TableAdapter.Fill Daten erneut abrufen

    Guten Tag,

    ich habe mir eine Datenverbindung mit einer Access-Datenbank eingerichtet und anschließend aus dem Datenquelle Fenster meine Tabelle mit TextBoxen in die Form gezogen.
    Durch die Funktion

    VB.NET-Quellcode

    1. Me.Kategorie1TableAdapter.Fill(Me.TestDataSet.Kategorie1)
    werden die TextBoxen mit den Daten gefüllt. Jetzt kommt meine Frage: Ich verändere die Daten, speichere sie nicht ab, wechsele zu anderen Items, wechsle wieder zum ursprünglichen Item und man sieht die Textbox wird wieder mit den neuen Daten gefüllt, die aber nicht in der Datenbank abspeichert wurden. Wie kann ich nun die Textbox mit den richtigen unveränderten Daten aus der Datenbank aktualisieren? Eine erneute Fill abfrage gibt die Fehlermeldung "diesem command ist bereits ein geöffneter datareader zugeordnet".
    Ich rufe einfach nur die Fill Funktion ein zweites Mal auf, aber an dem Punkt bricht das Programm ab.

    VB.NET-Quellcode

    1. Private Sub ListBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox.SelectedIndexChanged
    2. Me.Kategorie1TableAdapter.Fill(Me.TestDataSet.Kategorie1)
    3. End Sub
    auch an diesem gezeigten Code kann es nicht liegen.

    ah - evtl. ändert sich der SelectedIndex, während der Adapter fillt.
    Damit hättest du eine Ereigniskette, in der .Fill ein zweites Mal aufgerufen wird, während der erste Fill-Vorgang noch nicht abgeschlossen. Dazu könnte auch die Fehlermeldung iwie passen.