SqlTransaction, Procédure, et Exception
Bonjour tout le monde,
Je suis en train de développer un programme (étonnant non ? :mrgreen:) et j'ai fait une procédure qui fait elle même appel à d'autres procédures pour faire des insert en "rafale" surr plusieurs tables.
Extrait :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Dim myTransac As SqlTransaction
myTransac = cnx.BeginTransaction
cmd.Transaction = myTransac
Try
cmd.ExecuteNonQuery()
'Si l'insertion du nouveau rapport est effectuée avec succès, on insère tout les lots
LigneLot.insert(insertReussi, newRapport.ListeLot, newRapport.Id, cnx, myTransac)
'Si les lots sont insérés avec succès, on insère les pertes
EntetePerte.insert(insertReussi, newRapport.ListePerte, newRapport.Id, cnx, myTransac)
'Si les pertes sont insérées avec succès, on commit la transaction, sinon on rollback
myTransac.Commit()
Catch
insertReussi = False
myTransac.Rollback()
End Try
cnx.Close() |
Donc j'envoie aux procédures "filles" les paramètres dont elles ont besoins (connexion et transaction comprises) avec des try sur toutes les procédures impliquées.
Donc ma question est : Si une des ces procédures lève une exception, est ce que je vais bien revenir dans le try/catch d'origine ? Et donc est ce que le commit/rollback est utilisé à bon escient ici ?