Synchronisation des tables

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation d'ensembles de données de type table


Si vous avez deux ensembles de données ou plus qui représentent la même table de base de données mais ne partagent pas un composant source de données, alors, chaque ensemble de données a sa propre vue des données et son propre enregistrement en cours. Au fur et à mesure que les utilisateurs accèdent aux enregistrements par le biais de chaque ensemble de données, les enregistrements en cours des composants diffèrent.

Si les ensembles de données sont tous des instances de TTable, ou tous des instances de TIBTable, ou tous des ensembles de données client, vous pouvez forcer l'enregistrement en cours de chacun de ces ensembles de données à être le même, en appelant la méthode GotoCurrent. GotoCurrent définit son propre enregistrement en cours de l'ensemble de données par l'enregistrement en cours de l'ensemble de données correspondant. Par exemple, le code suivant définit l'enregistrement en cours de CustomerTableOne comme le même que l'enregistrement en cours de CustomerTableTwo :

CustomerTableOne.GotoCurrent(CustomerTableTwo);
CustomerTableOne->GotoCurrent(CustomerTableTwo);

Conseil :  Si votre application doit synchroniser des ensembles de données de cette manière, placez les ensembles de données dans un module de données et ajoutez l'unité du module de données à la clause uses de chaque unité qui accède aux tables.

Pour synchroniser des ensembles de données de fiches distinctes, vous devez ajouter l'unité d'une fiche à la clause uses de l'autre, et qualifier au moins un des ensembles de données par le nom de sa fiche. Par exemple :

CustomerTableOne.GotoCurrent(Form2.CustomerTableTwo);
CustomerTableOne->GotoCurrent(Form2->CustomerTableTwo);


Voir aussi