Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Wie erhalte Ich die Änderungen eines TClientDataset in ein TClientDataset um dies

  Alt 10. Sep 2014, 12:56
Delphi-Quellcode:
        value := DatasetArtikel.Fields[2].OldValue; //gibt blueblue zurück
        value := DatasetArtikel.Fields[2].Value; //gibt blueblue zurück
        value := DatasetArtikel.Fields[2].NewValue; //gibt blueblue zurück
Wie kann ich das realisieren das Ich ein Dataset erhalte nur mit den Änderungen und dieses in einer Schleife durchlaufe und die neuen Werte rausfilter?
OldValue sollte nur für den aktuellen Datensatz verfügar sein.
Es wird nicht für alle Datensätze der "alte" Zustand gespeichert. Was ist überhaupt alt? Nja, wenn, dann müsstest du das wohl selber speichern, in eine/mehreren zusätzlichen Spalten oder woanders.

Und das OldValue könnte auch nur während des Inserts/Edits gültig/aktuell sein, bis hin zum nächsten Post/Cancel.


Ob der OldValue auch länger gespeihert wird, ist nicht unbedingt/immer gegeben.
Zitat von OH:
Sobald die Datensätze erfolgreich eingetragen wurden, kann der ursprüngliche Feldwert nicht mehr ermittelt werden.

Anmerkung: Die Eigenschaft OldValue kann nur verwendet werden, wenn mit der Komponente TClientDataSet auf die Daten zugegriffen wird oder zwischengespeicherte Aktualisierungen genutzt werden.


Eventuell klingt TClientDataSet.LogChanges nach einer praktischen Sache?
$2B or not $2B

Geändert von himitsu (10. Sep 2014 um 13:02 Uhr)
  Mit Zitat antworten Zitat