LocalStartTransaction

Marqueur de début de transaction

Syntaxe

procedure LocalStartTransaction()

Remarques

  • L'appel de cette procédure indique que le code qui suit est traité dans une transaction.
  • La transaction ne concerne que les accès aux bases Qubes par les fonctions standards de Qubes. Les accès aux autres bases sont validés et exécutés au fur et à mesure de leur appel dans le code. Pour les protéger, utiliser les procédures StartTransaction, Commit et RollBack de l'objet Class/TSDBQuery.
  • La fin de la transaction doit être appelée par un LocalCommit ou un LocalRollBack.
  • L'ensemble LocalStartTransaction, LocalCommit, LocalRollBack doit être géré dans une structure Try...Except (cf. exemple plus bas).
  • Qubes ne gère qu'une transaction à la fois : des transactions imbriquées ne démarrent pas plusieurs transactions, mais ne font qu'incrémenter un compteur de transaction, qui est décrémenté par un LocalCommit. Un LocalRollBack annule de son côté toute la chaîne de transaction, quel que soit le nombre de LocalStartTransaction.

Exemples

LocalStartTransaction;
 try
    // code de la transaction
    LocalCommit;
 except
    on e : Exception do begin
       ErrorDlg(E.Message+#13#10+E.StackTrace); // informe l'utilisateur de l'erreur ou place une entrée dans le fichier error.log en cas d’exécution hors interface (service).
       LocalRollback;
       raise Exception.Create(e.Message+#13#10+e.StackTrace);
    end;
 end;

Classification

QuBES