2010-10-22 4 views
1

Ceci était la continuation de mon previous question.Désactiver Change_Log dans le fichier XML lors de l'enregistrement via ClientDataSet

Je ne veux pas de données PARAMS CHANGE_LOG dans mon fichier XML lors de l'enregistrement des données dans ClientDataSet en utilisant la méthode ClientDataSet1.SaveToFile().

Mon code ressemble à ceci:

ClientDataSet1.Insert; 
ClientDataSet1.FieldByName('Name').AsString:= 'AAA'; 
ClientDataSet1.Append; 
ClientDataSet1.SaveToFile('c:\Test.xml',dfxml); 

Comment puis-je atteindre cet objectif.

Répondre

4

Définissez les LogChanges propriété de votre ClientDataSet sur False, et il ne sera pas bulid le ChangeLog pour vous ...

+0

Merci Bob. Pouvez-vous me suggérer qui est le plus efficace? MergeChangeLog ou LogChanges = False – Bharat

+0

@Bharat - Si vous n'utilisez pas le journal des modifications, définir 'LogChanges' sur false est plus efficace. Lorsque LogChanges est défini sur true, l'édition des données devient plus lente au fil du temps (jusqu'à ce que les modifications soient fusionnées). –

+0

Définir LogChanges sur False est plus efficace, car il n'a jamais besoin d'enregistrer les deltas, et appliquera simplement les modifications à chaque publication ou insertion/suppression. –

2

L'utilisation de ClientDataSet1.MergeChangeLog avant d'enregistrer le fichier XML résout le problème.

code

ressemble à ceci:

ClientDataSet1.MergeChangeLog; 
ClientDataSet1.SaveToFile('c:\Test.xml',dfXML); 
Questions connexes