none
bindingsource - Datenänderung RRS feed

  • Frage

  • Hallo Experten,

    So habe jetzt eine Form mit Datenbindung an ein Access-DB. Jetzt hätte ich Fragen zum Bindingsource Objekt.  Gibt es eine Möglichkeit festzustellen ob eine Änderung der Daten stattgefunden hat. Als Beispiel: Wenn die Form geschlossen wird, möchte ich feststellen ob eine Datenänderung stattgefunden, die noch nicht in die DB zurückgeschrieben wurden.

    vielen Dank für eure Tipps, mfg eem monarch

    Freitag, 16. März 2012 20:41

Antworten

  • Solange sich ein Steuerelement im Edit-Modus befindet, befinden sich die Daten nur im Datenpuffer im Steuerelement. Erst mit Abschluss des Edit-Vorganges transportiert das Binding-Objekt die Daten aus dem Puffer des Steuerelementes in die Datenquelle.
     
    --
    Viele Gruesse
    Peter
    Samstag, 17. März 2012 15:18

Alle Antworten

  • Das Erkennen von Änderungen der Datenquelle ist nur möglich, wenn die Datenquelle entsprechende Attribute mitführt. Wenn als Datenquelle ein DataSet genutzt wird, kann man die booleasche Methode HasChanges nutzen. Mit ihr werden die RowState-Eigenschaften der im DataSet enthaltenen Datenzeilen (DataRows) ausgewertet.
     
    --
    Viele Gruesse
    Peter
    Samstag, 17. März 2012 04:55
  • Servus Peter,

    habe ich probiert funzt aber leider nur eingschränkt. Beispiel Datenänderung: Angenommen ich befinde mich im 2ten Datensatz und ändere den Wert eines Feldes, dann wechsel ich zum 3ten Datensatz und close Form, dann ist HasChanges richtig gesetzt. Aber, wenn ich am 2ten Datensatz eine Feldwert änderen und die Form schliesse ohne den Datensatz zu wechseln ist HasChanges nicht richtig gesetzt ???!!!???

    Kann es sein, das beim Datensatzwechsel autom. ein EndEdit ausgelöst wird und erst dadurch HasChanges gesetzt wird? Ich habe nun folgendes gemacht, damit bei Wertänderung ohne Datensatzwechsel das HasChanges funzt.

            UFPBindingSource.EndEdit()
            If UFPDataSet.HasChanges Then
                Beep()
                ...
            End If
    Ist das so richtig oder eher eine Krücke ?

    mfg eem monarch


    Samstag, 17. März 2012 09:55
  • Solange sich ein Steuerelement im Edit-Modus befindet, befinden sich die Daten nur im Datenpuffer im Steuerelement. Erst mit Abschluss des Edit-Vorganges transportiert das Binding-Objekt die Daten aus dem Puffer des Steuerelementes in die Datenquelle.
     
    --
    Viele Gruesse
    Peter
    Samstag, 17. März 2012 15:18