SQL语句中的SQLITE中的错误处理和RollBack事务

时间:2011-03-15 06:32:34

标签: sqlite

我正在通过调用ExecuteNonQuery使用SQL脚本更改多个sqlite表。我想在事务中执行此操作,并希望在任何操作失败时将其回滚。

我看了BEGIN TRANSACTION,很清楚,当出现问题时我必须致电ROLLBACK TRANSACTION。但我不知道这里有什么TRY...CATCH (Transact-SQL)的东西。

注意:整个Sql脚本文件(除了这几个需要在一个事务中触发的语句之外还包含许多其他语句)由.ReadToEnd()读取,然后一次性执行。我想在sql脚本文件中处理这个问题,并且不想更改代码。

1 个答案:

答案 0 :(得分:3)

请查看SQLite on conflict clause

从BEGIN TRANSACTION开始

您必须在行动中添加ON CONFLICT ROLLBACK

最后的COMMIT TRANSACTION; - )