Zawijam moją pojedynczą operację zapisu SQL w SqlTransaction
Jeśli wystąpi wyjątek SqlCommand.ExcuteNonQuery()
, czy trzeba zadzwonić SqlTransaction.Rollback()
?
Na wyjątek, jaki jest stan SqlTransaction
zostawiony w ? Będzie SQL Server
wycofać operację samodzielnie?
Odpowiedzi:
0 dla odpowiedzi № 1Stan transakcji zależy od błędusurowość. Niektóre błędy programu SQL Server spowodują automatyczne wycofanie transakcji, a inne nie. Proponuję wywołać metodę Rollback w próbie / catch w zewnętrznym bloku wyjątków.