CommitEx (CM)

De Wiki1000
(Différences entre les versions)
(Nouvelle page : <source lang='delphi'>procedure RollBack;</source> Cette procédure annule une transaction. {|class="wikitable" |- |Pas de paramètre |} Exemple <source lang='delphi'> begin Cla...)
 
Ligne 1 : Ligne 1 :
<source lang='delphi'>procedure RollBack;</source>
+
<source lang='delphi'>procedure CommitEx(iOptions:TCommitOptions);</source>
  
Cette procédure annule une transaction.
+
Cette procédure valide une transaction.
  
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
|Pas de paramètre
+
|iOptions
 +
|Options de validation
 +
{|class="wikitable"
 +
|-
 +
|coStayinTranOnError
 +
|N'invalide pas la transaction sur une erreur SQL.
 +
|-
 +
|coDontShowEngineError
 +
|N'affiche pas le dialogue d'erreur de base de données en cas d'erreur SQL.
 +
{{tip|Le dialogue n'est jamais affiché si [[hasGUI (CM)|hasGUI]] est à false.}
 +
|-
 +
|coLogEngineError
 +
|Enregistre les erreurs dans la [[Session de base de données (code)|session de base de données]].
 +
|-
 +
|coNoConfirmDialog
 +
|N'affiche pas le dialogue de confirmation de suppression.
 +
|-
 +
|coNoCumuls
 +
|Ne crée pas et ne met pas à jour les objets cumuls.
 +
{{warning|Les cumuls ne seront pas à jour.}}
 +
|-
 +
|coNoTrace
 +
|Ne crée pas les objets traces.
 +
|-
 +
|coCatchErrors
 +
|Intercepte toutes les erreurs de validation
 +
Par défaut la validation s'arrête à la première erreur, avec cette option la validation continue et toutes les erreurs sont enregistrées. A la fin du cycle de validation une seule exception est générée dont le message reprend l'ensemble des erreurs.
 +
|}
 
|}
 
|}
  
Ligne 14 : Ligne 41 :
 
   try
 
   try
 
     ...
 
     ...
     ClassManager.Commit;
+
     ClassManager.CommitEx(coNoConfirmDialog+coCatchErrors);
 
   except
 
   except
 
     ClassManager.RollBack;
 
     ClassManager.RollBack;

Version du 19 juillet 2009 à 15:32

procedure CommitEx(iOptions:TCommitOptions);

Cette procédure valide une transaction.

iOptions Options de validation
coStayinTranOnError N'invalide pas la transaction sur une erreur SQL.
coDontShowEngineError N'affiche pas le dialogue d'erreur de base de données en cas d'erreur SQL.

{{tip|Le dialogue n'est jamais affiché si hasGUI est à false.}

coLogEngineError Enregistre les erreurs dans la session de base de données.
coNoConfirmDialog N'affiche pas le dialogue de confirmation de suppression.
coNoCumuls Ne crée pas et ne met pas à jour les objets cumuls.
Exclam-20px.png Attention : Les cumuls ne seront pas à jour.
coNoTrace Ne crée pas les objets traces.
coCatchErrors Intercepte toutes les erreurs de validation

Par défaut la validation s'arrête à la première erreur, avec cette option la validation continue et toutes les erreurs sont enregistrées. A la fin du cycle de validation une seule exception est générée dont le message reprend l'ensemble des erreurs.

Exemple

begin
  ClassManager.BeginTran;
  try
    ...
    ClassManager.CommitEx(coNoConfirmDialog+coCatchErrors);
  except
    ClassManager.RollBack;
    raise ;
  end;
end;

Voir aussi

Gestion des transactions (CM)Développement DSM

Outils personnels