BeginTrans, CommitTrans et RollbackTrans, méthodes (ADO)

Ces méthodes de transaction gèrent le traitement des transactions dans un objet Connection comme suit :

  • La méthode BeginTrans commence une nouvelle transaction.

  • La méthode CommitTrans enregistre toutes les modifications et termine la transaction actuelle. Il peut également démarrer une nouvelle transaction.

  • La méthode RollbackTrans annule toutes les modifications apportées durant la transaction actuelle et met fin à celle-ci. Il peut également démarrer une nouvelle transaction.

Syntaxe

  
level = object.BeginTrans()  
object.BeginTrans  
object.CommitTrans  
object.RollbackTrans  

Valeur de retour

La méthode BeginTrans peut être appelée en tant que fonction retournant une variable Long indiquant le niveau d’imbrication de la transaction.

Paramètres

object
Objet Connection.

Connexion

Utilisez ces méthodes avec un objet Connection lorsque vous souhaitez enregistrer ou annuler une série de modifications apportées aux données sources en tant qu’unité unique. Par exemple, pour transférer de l’argent entre comptes, vous soustrayez un montant d’un compte et ajoutez le même montant à l’autre. Si une mise à jour échoue, les comptes ne sont plus équilibrés. L’apport de ces modifications dans le cadre d’une transaction ouverte garantit que toutes les modifications seront appliquées, ou qu’aucune ne le sera.

Notes

Certains fournisseurs ne prennent pas en charge les transactions. Vérifiez que la propriété définie par le fournisseur « Transaction DDL » figure dans la collection Properties de l’objet Connection, indiquant que le fournisseur prend en charge les transactions. Si le fournisseur ne prend pas en charge les transactions, l’appel de l’une de ces méthodes retourne une erreur.

Après que vous avez appelé la méthode BeginTrans, le fournisseur ne valide plus instantanément les modifications que vous apportez jusqu’à ce que vous appeliez la méthode CommitTrans ou RollbackTrans pour mettre fin à la transaction.

Pour les fournisseurs qui prennent en charge les transactions imbriquées, l’appel de la méthode BeginTrans dans une transaction ouverte démarre une nouvelle transaction imbriquée. La valeur de retour indique le niveau d’imbrication : la valeur de retour « 1 » indique que vous avez ouvert une transaction de niveau supérieur (autrement dit, une transaction non imbriquée dans une autre), la valeur « 2 » que vous avez ouvert une transaction de deuxième niveau (transaction imbriquée dans une transaction de niveau supérieur), et ainsi de suite. L’appel de la méthode CommitTrans ou RollbackTrans affectant uniquement la transaction ouverte le plus récemment, vous devez fermer ou restaurer la transaction actuelle avant de pouvoir résoudre toute transaction de niveau supérieur.

L’appel de la méthode CommitTrans enregistre les modifications apportées à une transaction ouverte sur la connexion et met fin à la transaction. L’appel de la méthode RollbackTrans annule toutes les modifications apportées à une transaction ouverte et met fin à la transaction. L’appel de l’une ou l’autre méthode quand aucune transaction n’est génère une erreur.

Selon la propriété Attributes de l’objet Connection, l’appel de la méthode CommitTrans ou RollbackTrans peut démarrer automatiquement une nouvelle transaction. Si la propriété Attributes est définie sur adXactCommitRetaining, le fournisseur démarre automatiquement une nouvelle transaction après un appel de la méthode CommitTrans. Si la propriété Attributes est définie sur adXactAbortRetaining, le fournisseur démarre automatiquement une nouvelle transaction après un appel de la méthode RollbackTrans.

Service de données à distance

Les méthodes BeginTrans, CommitTrans et RollbackTrans ne sont pas disponibles sur un objet Connection côté client.

S'applique à

Connection, objet (ADO)

Voir aussi

Méthodes BeginTrans, CommitTrans et RollbackTrans, exemple (VB)
Méthodes BeginTrans, CommitTrans et RollbackTrans, exemple (VC++)
Attributes, propriété (ADO)