AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ClientDataSet.SaveToFile() "löscht" nicht die geänderten Daten
Thema durchsuchen
Ansicht
Themen-Optionen

ClientDataSet.SaveToFile() "löscht" nicht die geänderten Daten

Ein Thema von juergen · begonnen am 29. Nov 2018 · letzter Beitrag vom 29. Nov 2018
Antwort Antwort
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#1

ClientDataSet.SaveToFile() "löscht" nicht die geänderten Daten

  Alt 29. Nov 2018, 00:22
Datenbank: XML • Version: 1.0 • Zugriff über: ClientDataSet
Hallo zusammen,

ich beschäftige mich gerade mit ClientDataSet in Verbindung mit XML.
Ich nutze keinen Provider. Ich lese eine XML-Datei über CDS.LoadFromFile() ein. Es ist eine Datasource und ein DB-Grid angebunden nebst einem DB-Navigator.
Wenn ich nun Daten im Grid ändere werden die geänderten Daten auch durch CDS.SaveToFile() in die XML-Datei gespeichert. Allerdings bleibt der alte "Datensatz" in der XML-Datei vorhanden!


Kennt jemand dieses Problem und gibt es da eine Möglichkeit dass im XML-File *nur* die Daten stehen die auch in meinem Grid zu sehen sind?

Vielen Dank schon mal vorab!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#2

AW: ClientDataSet.SaveToFile() "löscht" nicht die geänderten Daten

  Alt 29. Nov 2018, 00:31
Ruf vor dem Speichern mal ein MergeChangeLog auf.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: ClientDataSet.SaveToFile() "löscht" nicht die geänderten Daten

  Alt 29. Nov 2018, 00:33
Da Delphi-Referenz durchsuchenDatasnap.DBClient.TCustomClientDataSet.LogChanges ausschalten
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ClientDataSet.SaveToFile() "löscht" nicht die geänderten Daten

  Alt 29. Nov 2018, 00:44
@Uwe Raabe,
@Schokohase,

supi, ihr beide seid der Hammer.
Vielen Dank. Ich hatte ziemlich lange gesucht, war mir aber einer solche Funktion gar nicht bewusst.

Vielen Dank und eine Gute N8!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.201 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: ClientDataSet.SaveToFile() "löscht" nicht die geänderten Daten

  Alt 29. Nov 2018, 07:58
Ist da nicht
Code:
ApplyUpdates
das Mittel der Wahl?
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#6

AW: ClientDataSet.SaveToFile() "löscht" nicht die geänderten Daten

  Alt 29. Nov 2018, 08:14
Ist doch dokumentiert:

Datasnap.DBClient.TCustomClientDataSet.ApplyUpdate s
Zitat:
Sendet alle aktualisierten, eingefügten und gelöschten Datensätze der Client-Datenmenge an den Provider, damit die Änderungen in die Datenbank geschrieben werden.
Der TE hat aber gar keinen Provider wo diese Änderungen hin könnten.

Datasnap.DBClient.TCustomClientDataSet.LogChanges

Datasnap.DBClient.TCustomClientDataSet.MergeChange Log

Geändert von Schokohase (29. Nov 2018 um 08:17 Uhr)
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.201 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: ClientDataSet.SaveToFile() "löscht" nicht die geänderten Daten

  Alt 29. Nov 2018, 08:25
Du hast recht + ich habe weniger Recht. :- /

Zitat:
"In dateiorientierten Anwendungen muss MergeChangeLog explizit aufgerufen werden, wenn LogChanges den Wert true hat."
http://docwiki.embarcadero.com/Libra...MergeChangeLog
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz