AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Wie erhalte Ich die Änderungen eines TClientDataset in ein TClientDataset um diesen i
Thema durchsuchen
Ansicht
Themen-Optionen

Wie erhalte Ich die Änderungen eines TClientDataset in ein TClientDataset um diesen i

Ein Thema von omega90 · begonnen am 10. Sep 2014 · letzter Beitrag vom 10. Sep 2014
 
omega90

Registriert seit: 2. Jul 2014
8 Beiträge
 
#1

Wie erhalte Ich die Änderungen eines TClientDataset in ein TClientDataset um diesen i

  Alt 10. Sep 2014, 11:03
Hallo Zusammen...

Ich habe vor die Daten in einem TClientDataset über ein Grid zu ändern und über Delta die geänderten Daten in einem TClientDataset in einer Schleife zu durchlaufen und den passenden SQL Code zu bauen.

Hierfür greife ich auf eine DBF Datei zu die mir über eine Komponente ApolloDatabase und ApolloTable in mein TClientDataset übergibt. Das funktioniert.

Ich kann die Daten in einem Grid anzeigen lassen via DataSource und Provider. Über folgenden Code prüfe Ich zunächst ob die Daten geändert wurden im TClientDataset.

Quellcode
if Self.DatasetArtikel.ChangeCount = 0 then
begin
ShowMessage('Delta is empty');
Exit;
end;


Anschließend gebe Ich in einem Integer aus wieviele Änderungen es gab.

Quellcode
counter := DatasetArtikel.ChangeCount;


Nun möchte Ich die Änderungen (Nur die Änderungen) im Dataset erfassen.

Quellcode
DatasetArtikel.Data := Self.DatasetArtikel.Delta;


Danach wollte Ich in einer Schleife das Dataset durchlaufen, mir ist jedoch aufgefallen das Ich auch wenn Ich einen Wert geändert hatte nur den alten Wert erhalte.

Zum Beispiel habe Ich in der Spalte 3 im ersten Daensatz blueblue stehen und änder diesen in redred ab. Jedoch bekomme Ich nur blueblue zurück aber ich brauche den neuen Wert..

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?
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz