Utilisation du BDE pour placer en mémoire cache les mises à jour
Remonter à Utilisation du BDE pour placer en mémoire cache les mises à jour - Index
Remarque : Le moteur de base de données Borland (BDE, Borland Database Engine) a été déprécié. Il ne sera donc pas amélioré. Par exemple, le BDE ne prendra jamais en charge Unicode. Vous ne devriez pas entreprendre de nouveaux développements avec BDE. Prévoyez plutôt de migrer vos applications de bases de données existantes de BDE vers dbExpress. Pour plus d'informations relatives à la migration de BDE vers dbExpress, voir http://www.embarcadero.com/rad-in-action/migration-upgrade-center.
L'approche recommandée pour la mise en mémoire cache des mises à jour consiste à utiliser un ensemble de données client (TBDEClientDataSet) ou à connecter l'ensemble de données BDE à un ensemble de données client à l'aide d'un fournisseur d'ensemble de données. Les avantages de l'ensemble de données client sont traités dans Utilisation d'un ensemble de données client pour mettre en cache les mises à jour.
Dans les cas les plus simples, vous pouvez choisir d'utiliser le BDE pour la mise en mémoire cache des mises à jour. Les ensembles de données BDE et les composants TDatabase fournissent des propriétés, des méthodes et des événements pour la gestion des mises à jour en mémoire cache. La plupart correspondent directement aux propriétés, méthodes et événements que vous utilisez avec les ensembles de données client et les fournisseurs d'ensembles de données lors de l'utilisation d'un ensemble de données client pour la mise en mémoire cache des mises à jour. Le tableau suivant présente ces propriétés, méthodes et événements, ainsi que leurs correspondances dans TBDEClientDataSet :
Propriétés, méthodes et événements pour les mises à jour en mémoire cache :
Sur les ensembles de données BDE (ou TDatabase) | Sur TBDEClientDataSet | Utilisation |
---|---|---|
Inutile pour les ensembles de données clients, qui pratiquent toujours la mise en mémoire cache des mises à jour. |
Détermine si les mise à jour en mémoire cache sont activées pour l'ensemble de données. | |
Utilise un gestionnaire d'événement BeforeUpdateRecord, ou, si l'on emploie TClientDataSet, utilise la propriété UpdateObject sur l'ensemble de données BDE source. |
Spécifie l'objet mise à jour pour mettre à jour les ensembles de données en lecture seule. | |
Indique si la mémoire cache locale contient des enregistrements mis à jour qui doivent être transmis à la base de données. | ||
Indique le type d'enregistrements mis à jour à rendre visibles lors de la transmission de mises à jour en mémoire cache. | ||
Indique si un enregistrement est inchangé, modifié, inséré ou supprimé. | ||
Evénement pour traiter les erreurs de mise à jour enregistrement par enregistrement. | ||
N/A |
Un événement pour le traitement des mises à jour, enregistrement par enregistrement. | |
ApplyUpdates (base de données) |
Transmet les enregistrements de la mémoire cache locale à la base de données. | |
Supprime toutes les mises à jour en attente du cache local, sans les appliquer. | ||
Réinitialise la mémoire cache de mise à jour après la transmission réussie des mises à jour. | ||
Copie des enregistrements de bases de données dans la mémoire cache locale à des fins de modification et de mise à jour. | ||
Annule les mises à jour de l'enregistrement en cours si elles ne sont pas encore effectuées. |
Pour une vue d'ensemble du processus de mises à jour en mémoire cache, voir Présentation de l'utilisation d'un cache pour les mises à jour.
Les rubriques suivantes décrivent de manière détaillée comment utiliser le BDE pour mettre en cache des mises à jour :
- Activation des mises à jour BDE en mémoire cache.
- Application des mises à jour BDE en mémoire cache.
- Utilisation d'objets mise à jour pour mettre à jour un ensemble de données.
Remarque : Même si vous utilisez un ensemble de données client pour placer les mises à jour en mémoire cache, lisez la section sur les objets mise à jour. Vous pouvez utiliser les objets mise à jour dans le gestionnaire d'événement BeforeUpdateRecord de TBDEClientDataSet ou TDataSetProvider pour appliquer les mises à jour depuis des procédures stockées ou des requêtes multitables.