BeginUpdate (CM)
De Wiki1000
(Différences entre les versions)
(3 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
− | {{ | + | {{Version650}} |
<source lang='delphi'>procedure BeginUpdate;</source> | <source lang='delphi'>procedure BeginUpdate;</source> | ||
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 | ||
Ligne 44 : | Ligne 50 : | ||
* [[EndUpdate (CM)|EndUpdate]] | * [[EndUpdate (CM)|EndUpdate]] | ||
+ | * [[beginImport (CM)|beginImport]] | ||
+ | * [[DisableEvents (Instance)|disableEvents sur une instance]] | ||
[[category:ClassManager]] | [[category:ClassManager]] | ||
− | [[ | + | [[Category:Version650]] |
Version actuelle en date du 1 juillet 2013 à 09:54
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