BeginUpdate (CM)
De Wiki1000
(Différences entre les versions)
Ligne 22 : | Ligne 22 : | ||
* Règles d'erreurs | * Règles d'erreurs | ||
− | {{warning|Une instruction BeginUpdate doit absolument être suivie par une instruction EndUpdate.}} | + | {{info| |
+ | : 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.}} | ||
+ | |||
+ | {{warning| | ||
+ | : Une instruction BeginUpdate doit absolument être suivie par une instruction EndUpdate.}} | ||
{|class="wikitable" | {|class="wikitable" | ||
Ligne 29 : | Ligne 34 : | ||
|} | |} | ||
− | Exemple | + | Exemple : |
+ | |||
<source lang='delphi'> | <source lang='delphi'> | ||
begin | begin |
Version du 2 novembre 2011 à 09:53
procedure BeginUpdate;
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 :
|
Pas de paramètre |
Exemple :
begin ClassManager.BeginUpdate; try ... finally ClassManager.EndUpdate; end; end;
Voir aussi