2014-07-17 3 views
0

J'ai ouvert la transaction dans une fonction, cette fonction appelle la procédure stockée, qui met à jour les données dans SqlDataTable.After je reviens de cette fonction sans rollback ou commit et appelle autre fonction, qui doit retourner les données DataTable.Après je dois appeler la première fonction pour commettre ou annuler la transaction. Mais ma deuxième fonction ne fonctionne pas. Pouvez-vous m'aider?SQLTransaction ne fonctionne pas dans C#

+3

Veuillez partager le code .. –

+0

Utilisez-vous la même connexion pour toutes les commandes que vous utilisez sur votre base de données? – mslliviu

+0

Merci @AravinthKannan, @ mslliviu. J'ai utilisé d'autres connexions .. – user3064723

Répondre

0

Je soupçonne que votre objet SqlTransaction est défini dans la première fonction, et lorsqu'il est hors de portée (détruit ou éliminé), il effectue une restauration automatique. Il est difficile d'être sûr sans aucun exemple de code, mais c'est un scénario qui vous donnera le comportement observé.

+0

Merci. Maintenant j'utilise la même connexion, mais j'ai ceci dans ma première fonction - trans = conn.BeginTransaction(); – user3064723

+0

lorsque je définis un objet SQLTransaction en dehors, tout mon programme ne fonctionne pas ... – user3064723

+0

comment et où puis-je le définir? – user3064723