FireDAC.Comp.Client.TFDQuery.CachedUpdates
Delphi
property CachedUpdates: Boolean read GetCachedUpdates write SetCachedUpdates default 0;
C++
__property CachedUpdates = {default=0};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
property | published | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDQuery |
Description
Spécifie si l'ensemble de données consignera les modifications apportées aux données sans les appliquer immédiatement à la base de données.
FireDAC.Comp.Client.TFDQuery.CachedUpdates hérite de FireDAC.Comp.DataSet.TFDDataSet.CachedUpdates. Tout le contenu en-dessous de cette ligne se réfère à FireDAC.Comp.DataSet.TFDDataSet.CachedUpdates.
Spécifie si l'ensemble de données consignera les modifications apportées aux données sans les appliquer immédiatement à la base de données.
CachedUpdates active (True) ou désactive (False) la consignation des modifications des données (Insert/Post, Edit/Post, Delete) sans les appliquer immédiatement à la base de données. Une application doit appliquer explicitement les modifications consignées dans le journal des modifications à la base de données, en utilisant la méthode ApplyUpdates. Toutes les modifications sont écrites en un petit laps de temps par une transaction unique. Les principaux avantages de l'activation des mises à jour en cache sont les suivants :
- Des transactions moins nombreuses et qui prennent moins de temps.
- Un trafic réseau minimal.
- L'implémentation simplifiée de la fonctionnalité annuler / rétablir pour l'ensemble de données.
- La capacité à implémenter les applications en mode hors connexion ou avec le modèle briefcase.
Les inconvénients potentiels de l'activation des mises à jour en cache sont les suivants :
- D'autres applications peuvent lire et modifier les données réelles sur le serveur pendant que les utilisateurs sont en train de modifier des copies locales des données, ce qui aboutit à un conflit de mise à jour quand les mises à jour en cache sont appliquées à la base de données.
- D'autres applications ne peuvent pas accéder aux modifications des données effectuées par une application jusqu'à ce que ses mises à jour en cache soient appliquées à la base de données.
Remarque : Pour modifier la valeur de la propriété CachedUpdate pour TFDTable, la table doit être inactive.
Exemple
FDQuery1.CachedUpdates := True;
...
FDQuery1.Edit;
...
FDQuery1.Post;
...
FDQuery1.Append;
...
FDQuery1.Post;
...
FDQuery1.ApplyUpdates;
FDQuery1.CommitUpdates;
FDQuery1.CachedUpdates := False;