Я изменяю несколько таблиц sqlite с помощью сценария SQL, вызывая ExecuteNonQuery . Я хочу выполнить эту операцию в транзакции и откатить ее, если что-то не получится.
Я посмотрел на BEGIN TRANSACTION
, и стало ясно, что я должен позвонить ROLLBACK TRANSACTION
, когда что-то пойдет не так. Но я не знаю, как могло TRY ... CATCH (Transact-SQL) что-то здесь.
ПРИМЕЧАНИЕ. Весь файл Sql Script (который содержит много других операторов, кроме этих нескольких операторов, которые должны быть запущены в одной транзакции), читается .ReadToEnd () и затем выполняется за один раз. Я хочу обработать это в самом файле сценария sql и не хочу менять код.