/ / Comment contrôler les transactions sur l'accès aux données à l'aide de DataAdapter et de la procédure stockée en C #? - c #, adaptateur de données

Comment effectuer le contrôle des transactions sur l'accès aux données à l'aide de DataAdapter et de la procédure stockée en C #? - c #, dataadapter

Comment faire le contrôle des transactions sur l'accès aux donnéesutiliser DataAdapter et Stored Procedure en C #? Actuellement, je souhaite exécuter 2 appels de procédure stockée via DataAdapter, mais je souhaite effectuer un contrôle de transaction sur celui-ci. Y a-t-il un moyen de le faire?

Réponses:

3 pour la réponse № 1

La méthode préférée consiste à utiliser des étendues de transaction pour gérer cela pour vous. Entourez simplement le corps de code qui appelle les deux appels de procédures stockées avec un nouveau TransactionScope:

using(TransactionScope scope = new TransactionScope())
{
// your ADO.NET code that calls sprocs ...
}

Tous les appels à la base de données qui se produisent sur le mêmeLa connexion sera automatiquement combinée en une seule transaction. Vous pouvez également spécifier si le code de l’étendue de la transaction doit s’inscrire dans une transaction existante ou en lancer une propre via TransactionScopeOption paramètre.

C'est la manière préférée de combiner des appels en une seule transaction. le alternative, consiste à acquérir manuellement une DBTransaction en appelant Connection.BeginTransaction() - effectuer votre travail et ensuite appeler tran.Commit().


1 pour la réponse № 2

Je pense que le moyen le plus simple de procéder consiste à envelopper les deux appels dans un TransactionScope. Voir l'exemple sur cette page:

http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx