Data.SqlExpr.TSQLConnection.BeginTransaction
Delphi
function BeginTransaction: TDBXTransaction; overload;
function BeginTransaction(Isolation: TDBXIsolation): TDBXTransaction; overload;
C++
Data::Dbxcommon::TDBXTransaction* __fastcall BeginTransaction(void)/* overload */;
Data::Dbxcommon::TDBXTransaction* __fastcall BeginTransaction(int Isolation)/* overload */;
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | Data.SqlExpr.pas Data.SqlExpr.hpp |
Data.SqlExpr | TSQLConnection |
Description
Démarre une nouvelle transaction dans la base de données associée.
Appelez BeginTransaction pour démarrer une nouvelle transaction sur un serveur de bases de données qui prend en charge les transactions. Les serveurs MySQL supportent les transactions mais pas les transactions multiples en une seule connexion. Vous pouvez consulter la propriété TransactionsSupported pour savoir si le serveur prend en charge les transactions. S'il ne les prend pas en charge, BeginTransaction ne fait rien.
La méthode renvoie une instance de TDBXTransaction.
Si le démarrage de la transaction réussit, BeginTransaction attribue la valeur True à la propriété InTransaction.
Les mises à jour, insertions et suppressions effectuées après un appel à BeginTransaction sont engagées dans cette transaction jusqu'à ce qu'une transaction superposée démarre ou que l'application appelle CommitFreeAndNil pour enregistrer les modifications ou RollbackFreeAndNil pour les annuler.
Conseil : Si le serveur ne prend pas en charge plusieurs transactions, vérifiez le statut de la propriété InTransaction pour vous assurer qu'aucune autre transaction n'est en cours.
Conseil : Quand vous manipulez des transactions superposées, vous pouvez spécifier comment les transactions simultanées interagissent quand elles portent sur les mêmes tables en affectant une valeur au paramètre
IsolationLevel
de TSQLConnection.