Data.SqlExpr.TSQLConnection.StartTransaction

De RAD Studio API Documentation
Aller à : navigation, rechercher

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.

Voir aussi