« BeginUpdate (CM) » : différence entre les versions

De Wiki1000
m (Remplacement du texte — « {tahoe} » par « {Version650} »)
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 50 : Ligne 50 :


* [[EndUpdate (CM)|EndUpdate]]
* [[EndUpdate (CM)|EndUpdate]]
* [[beginImport (CM)|beginImport]]
* [[DisableEvents (Instance)|disableEvents sur une instance]]


[[category:ClassManager]]
[[category:ClassManager]]
[[category:Tahoe]]
[[Category:Version650]]

Dernière version du 1 juillet 2013 à 08:54

{{#images:version650-32x32.png|stock}} <source lang='delphi'>procedure BeginUpdate;</source>

Cette procédure démarre un ensemble de modifications.

A l'intérieur d'un bloc BeginUpdate / EndUpdate le framework :

Active un cache des requêtes SQL:

  • Cache l'exécution des requêtes ainsi que les objets retournés par celles-ci.
  • La clé du cache est le code SQL de la requête (incluant la valeur des paramètres).
  • Lorsqu'une requête est dans le cache elle n'est pas ré-exécutée.

Désactive l'exécution des règles suivantes :

  • Non saisissables
  • Alertes
  • Informations
  • Règles d'IHM
  • Règles d'état.

En dehors de la phase de COMMIT les règles suivantes sont aussi désactivées :

  • Valeurs obligatoires
  • Règles d'erreurs
Note :
Le cache de requête est réinitialisé après un COMMIT
Dans le cas d'exécution parallèle le cache est défini par exécuteur.
Attention :
Une instruction BeginUpdate doit absolument être suivie par une instruction EndUpdate.
Pas de paramètre

Exemple :

<source lang='delphi'> begin

 ClassManager.BeginUpdate;
 try
   ...
 finally
 ClassManager.EndUpdate;
 end;

end; </source>

Voir aussi