Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ClientDataSet Autolog ausstellen (https://www.delphipraxis.net/110332-clientdataset-autolog-ausstellen.html)

ferby 16. Mär 2008 17:19

Datenbank: ClientDataSet • Zugriff über: Speicher

ClientDataSet Autolog ausstellen
 
Hallo,

ClientDataSet Logt alles mit, wenn ich einen Datensatz erstelle und Daten eintrage,
und anschließend diesen Datensatz wieder lösche, dann stehen in der XML Datei noch immer die alten Daten drinnen.
Sie werden mitgelogt.

Weiß jemand wie ich das automatische Logen abstellen kann?
Die einzige passende Einstellung die ich gefunden habe war ClientDataSet.LogChanges, leider ohne Auswirkung.

Pluto 19. Mär 2008 09:25

Re: ClientDataSet Autolog ausstellen
 
Ich bin mir nicht sicher, ob ich die Frage richtig verstanden habe,
aber vielleicht hilft dies:

In einer Datenbank werden records nicht physikalisch gelöscht, sondern nur
als gelöscht markiert. Dementsprechend wird auch im xml-file der Datensatz
nur als gelöscht markiert.

Ein Beispiel mit einer kleinen Testdatenbank Duck.db:

DATAPACKET Version="2.0">
−<METADATA>
−<FIELDS>
<FIELD attrname="Name" fieldtype="string" WIDTH="15"/>
<FIELD attrname="Beschreibung" fieldtype="string" WIDTH="15"/>
</FIELDS>
<PARAMS CHANGE_LOG="8 0 2" LCID="2057"/>
</METADATA>
<ROWDATA>
<ROW Name="Donald Duck" Beschreibung="Pechvogel"/>
<ROW Name="Dagobert Duck" Beschreibung="Geizhals"/>
<ROW Name="Daisy Duck" Beschreibung="Verlobte"/>
<ROW Name="Gustav Duck" Beschreibung="Vetter"/>
<ROW Name="Elvira Duck" Beschreibung="Grandma"/>
<ROW Name="Tick Duck" Beschreibung="Pfadfinder"/>
<ROW Name="Dicky Duck" Beschreibung="Nichte"/>
<ROW Name="New Duck" Beschreibung="Gibt es nicht"/>
<ROW Name="Trick Duck" Beschreibung="Pfadfinder"/>
<ROW Name="Track Dug" Beschreibung="Pfadfinder"/>
</ROWDATA>
******************************
Nach Löschen des Datensatzes "NewDuck" :

<ROWDATA>
<ROW Name="Donald Duck" Beschreibung="Pechvogel"/>
<ROW Name="Dagobert Duck" Beschreibung="Geizhals"/>
<ROW Name="Daisy Duck" Beschreibung="Verlobte"/>
<ROW Name="Gustav Duck" Beschreibung="Vetter"/>
<ROW Name="Elvira Duck" Beschreibung="Grandma"/>
<ROW Name="Tick Duck" Beschreibung="Pfadfinder"/>
<ROW Name="Dicky Duck" Beschreibung="Nichte"/>
<ROW RowState="2" Name="New Duck" Beschreibung="Gibt es nicht"/>
<ROW Name="Trick Duck" Beschreibung="Pfadfinder"/>
<ROW Name="Track Dug" Beschreibung="Pfadfinder"/>
</ROWDATA>

Der Datensaatz ist als gelöscht markiert mit RowState="2"

Kroko1999 19. Mär 2008 09:34

Re: ClientDataSet Autolog ausstellen
 
Das hat man Dir doch bereits hier erklärt, :x

ferby 19. Mär 2008 19:26

Re: ClientDataSet Autolog ausstellen
 
Hallo,

ja hat man, aber doppelte Meinung ist immer besser ;-)

zb wußte ich nicht das Row State 2 das makiert, weil so kann ich einfach diese Zeilen rauslöschen.

Oder soll man sein Posting sofort löschen, sobald man in einen anderen Forum eine Antwort bekommt??

Kroko1999 20. Mär 2008 03:46

Re: ClientDataSet Autolog ausstellen
 
nein, aber das ganze einfach verlinken, :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 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