Data.SqlExpr.TSQLConnection.StartTransaction
Delphi
procedure StartTransaction( TransDesc: TTransactionDesc); deprecated;
C++
void __fastcall StartTransaction _DEPRECATED_ATTRIBUTE0 (const TTransactionDesc &TransDesc);
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
procedure function |
public | Data.SqlExpr.pas Data.SqlExpr.hpp |
Data.SqlExpr | TSQLConnection |
Description
Avertissement : StartTransaction est obsolète.
Démarre une nouvelle transaction dans la base de données associée.
Remarque : StartTransaction a été dépréciée. Utilisez plutôt BeginTransaction.
Appelez StartTransaction 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, StartTransaction ne fait rien.
TransDesc
décrit la transaction que vous démarrez. Il vous permet de spécifier :
- Un identificateur de transaction défini par l'utilisateur. Si le serveur prend en charge les transactions imbriquées ou superposées, vous pouvez démarrer plusieurs transactions en appelant StartTransaction et en fournissant l'identificateur unique de chaque transaction.
- Le niveau d'isolement des transactions. Indique le degré auquel cette transaction peut "voir" les modifications apportées par les autres transactions.
Si le démarrage de la transaction réussit, StartTransaction attribue la valeur True à InTransaction.
Les mises à jour, insertions et suppressions effectuées après un appel à StartTransaction sont engagées dans cette transaction jusqu'à ce qu'une transaction superposée démarre ou que l'application appelle Commit pour enregistrer les modifications ou Rollback 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.