我想创建一些方法来开始、提交或回滚Xcode中的事务。
我想知道我必须使用sqlite3库的哪些方法。
可以使用sqlite3_prepare_v2吗?还是sqlite3_readonly_stmt?
您可以通过在SQLite中执行以下不言自明的命令来做到这一点:begin immediate transaction
、commit transaction
和rollback transaction
。
注意:我使用了immediate
事务行为。有关它和其他类型(deferred
、exclusive
)的信息,请查看此处。
要在Objective-C中执行命令,请使用以下命令(其中sql
包含上面的一个命令作为NSString
;db
是您的数据库句柄-sqlite3*
):
if (sqlite3_exec(db, [sql UTF8String], NULL, NULL, NULL) != SQLITE_OK) {
// deal with error...
}