Fusion des modifications dans les données

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation d'un ensemble de données client avec des données basées sur des fichiers


Lorsque vous modifiez les données d'un ensemble client, toutes les modifications sont consignées dans un journal de modifications qui n'existe qu'en mémoire. Ce journal est géré séparément des données elles-mêmes bien que cela soit complètement transparent pour les objets qui utilisent l'ensemble de données client. En d'autres termes, les contrôles qui permettent la navigation dans l'ensemble de données client ou qui affichent ses données ont une vue des données qui intègre les modifications. Si vous ne souhaitez pas annuler les modifications, vous devez fusionner le journal de modifications avec les données de l'ensemble de données client en appelant la méthode MergeChangeLog. MergeChangeLog écrase les enregistrements de Data avec les valeurs des champs du journal de modifications.

Après l'exécution de MergeChangeLog, la propriété Data contient un amalgame constitué des données existantes et des modifications issues du journal de modifications. Cet amalgame devient la nouvelle valeur de la propriété Data (elle sert ensuite de référence aux futures modifications). MergeChangeLog efface tous les enregistrements du journal de modifications et réinitialise la propriété ChangeCount à 0.

Avertissement :  N'appelez pas MergeChangeLog pour les ensembles de données client qui utilisent un fournisseur. Dans ce cas, vous devez appeler la méthode ApplyUpdates pour écrire les modifications dans la base de données. Pour plus d'informations, voir Application des mises à jour.

Remarque :  Il est également possible de fusionner les modifications dans les données d'un ensemble de données client séparé si ce dernier a initialement fourni les données dans la propriété Data. Pour ce faire, vous devez utiliser un fournisseur d'ensembles de données. Pour un exemple sur la manière de procéder, voir Affectation directe des données.

Si vous ne souhaitez pas utiliser les capacités Défaire fournies par le journal de modifications, vous pouvez définir la propriété LogChanges de l'ensemble de données client par False. Lorsque LogChanges vaut False, les modifications sont automatiquement fusionnées lorsque vous postez des enregistrements et il est inutile d'appeler MergeChangeLog.

Voir aussi