Data.SqlExpr.TSQLConnection.RollbackIncompleteFreeAndNil
Delphi
procedure RollbackIncompleteFreeAndNil(var Transaction: TDBXTransaction);
C++
void __fastcall RollbackIncompleteFreeAndNil(Data::Dbxcommon::TDBXTransaction* &Transaction);
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
procedure function |
public | Data.SqlExpr.pas Data.SqlExpr.hpp |
Data.SqlExpr | TSQLConnection |
Description
Annule toutes les mises à jour, insertions et suppressions pour une transaction spécifiée, puis met fin à la transaction.
Appelez RollbackIncompleteFreeAndNil pour annuler toutes les modifications effectuées pendant la transaction décrite par Transaction et fermer cette transaction. Transaction est l'instance de TDBXTransaction renvoyée par la méthode BeginTransaction lors du démarrage de la transaction.
Si la transaction spécifiée est la seule transaction en cours, RollbackFreeAndNil définit la propriété InTransaction sur false après avoir annulé la transaction.
Toutes les transactions actives ayant commencé après cette transaction sont libérées et annulées.
L'instance de Transaction est définie sur nil.
A l'inverse de la procédure RollbackFreeAndNil, cette procédure ne déclenche pas une exception si Transaction est incorrect ou défini sur nil. Cette méthode est parfaitement utilisée dans un bloc finally (ou except). Le bloc try utilise CommitFreeAndNil ou RollbackFreeAndNil, et Transaction a déjà été achevé, libéré et défini sur nil. Si une exception n'est pas déclenchée dans le bloc try, un appel à RollbackIncompleteFreeAndNil dans le bloc finally ne fait rien, car l'instance de Transaction n'est plus valide. Si une exception est déclenchée, un appel à RollbackIncompleteFreeAndNil dans le bloc finally annule, libère et définit l'instance de Transaction sur nil.