DataGridView geänderte Werte in gebundene Accessdatei speichern

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

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

    DataGridView geänderte Werte in gebundene Accessdatei speichern

    Hallo Zusammen,

    ich bin grade dabei mein erstes Programm in Visual Basic zu schreiben. Nun möchte ich dem Anwender in einem DatagridView ein paar Daten anzeigen, die er bei Bedarf auch abändern und abspeichern können sollte. Kein so leichtes Thema :)
    Das einlesen der Daten geht durch das Databinding ja noch relativ gut vonstatten, leider habe ich noch keine Möglichkeit gefunden die geänderten Daten nun auch zu speichern. Der Ansatz unten schreibt leider keine Daten in die Datei. Beim erneuten laden stehen die ursprünglichen Daten wieder zur Verfügung. Jetzt könnte ich natürlich den umweg über eine Text oder CSV Datei gehen, aber lässt sich das speichern von Daten durch das Binden nicht komfortabler gestalten? Habe grade erst mein erstes Buch zu dem Thema durch und brauche jetzt doch erstmal ein bisschen Praxis damit sich wenigstens irgendetwas mal setzt ;)

    vielen Dank.

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Me.Validate()
    Me.Tabelle1BindingSource.EndEdit()
    Me.Tabelle1TableAdapter.Update(Me.Database2DataSet.Tabelle1)
    End Sub

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Ok, in der mdb Datenbank konnte ich die Einstellung von immer kopieren auf kopieren, wenn neuer setzen. Das hat dazu geführt das die Werte erhalten bleiben :)

    Dann bliebe jetzt nur noch die Frage, warum er die neuen Daten nicht in die eigentliche Datenbank schreibt? Scheinbar ist das Dataset eine art Kopie der eigentlichen mdb?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Wingcommander84“ ()

    Was meinst du mit "eigentliche Datenbank", und was - im Umkehrschluss - ist bei dir die "uneigentliche Datenbank"?

    Jedenfalls ist ein Dataset ein teilweiser Auszug der Daten der Datenbank - quasi ein Daten-Cache. Das kann sehr helfen DatenTraffic zu reduzieren (was oft ein ernstes Problem darstellt).
    Tatsächlich kann ein Dataset auch den kompletten Datenbestand kleinerer Datenbanken aufnehmen (so 20000 Datensätze) - aber dann ziehe man bitte in Betracht, die Datenbank komplett wegzulassen
    Mit "eigentlicher Datenbank" meinte ich die Accessdatenbank. Die ursprüngliche Datei ist aber nach wie vor unverändert. Sorry, für die umgangsprachliche Ausdrucksweise :)
    Gibt es denn noch eine bessere Möglichkeit das DatagridView mit Daten zu bespielen bzw. mit einem Speicher zu versorgen um die Änderungen auch speichern zu können? Momentan sind die Daten die ich dort ablegen muss nur sehr sehr maginal. Neben den 4 Spalten braucht der Anwender vermutlich 4-5 Zeilen. Das Hinzufügen und löschen bzw. umschreiben der Konten und auch das speichern der kleinen Änderungen wäre hingegen wichtig. Hatte auch erst daran gedacht alles in einer csv Datei zu sichern und immer beim Laden einzulesen. Nur war es mit der Datenbank bisher einfacher :)

    Konto
    Bezeichnung
    Konto
    Bezeichnung
    2800
    Bank
    4400
    Verbindlichkeiten