Обработка ошибок и транзакция RollBack в SQLITE из оператора SQL - PullRequest
3 голосов
/ 15 марта 2011

Я изменяю несколько таблиц sqlite с помощью сценария SQL, вызывая ExecuteNonQuery . Я хочу выполнить эту операцию в транзакции и откатить ее, если что-то не получится.

Я посмотрел на BEGIN TRANSACTION, и стало ясно, что я должен позвонить ROLLBACK TRANSACTION, когда что-то пойдет не так. Но я не знаю, как могло TRY ... CATCH (Transact-SQL) что-то здесь.

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

1 Ответ

3 голосов
/ 15 марта 2011

Пожалуйста, взгляните на SQLite о конфликте

Начните с НАЧАЛА СДЕЛКИ

Вы должны добавить ON CONFLICT ROLLBACK к своим действиям

И совершить транзакцию в конце; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...