FireDAC.Comp.DataSet.TFDDataSet.CachedUpdates

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property CachedUpdates: Boolean read GetCachedUpdates write SetCachedUpdates default False;

C++

__property bool CachedUpdates = {read=GetCachedUpdates, write=SetCachedUpdates, default=0};

Propriétés

Type Visibilité  Source Unité  Parent
property public
FireDAC.Comp.DataSet.pas
FireDAC.Comp.DataSet.hpp
FireDAC.Comp.DataSet TFDDataSet

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.

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;

Voir aussi