【问题标题】:How to begin, rollback, commit a transaction in Xcode with sqlite如何使用 sqlite 在 Xcode 中开始、回滚、提交事务
【发布时间】:2012-03-28 05:25:13
【问题描述】:

我想在 Xcode 中创建一些方法来开始、提交或回滚事务。

我想知道我必须使用sqlite3库的哪些方法。

使用 sqlite3_prepare_v2 可以吗? 还是 sqlite3_readonly_stmt?

【问题讨论】:

  • 什么平台?什么语言?您应该将 Xcode 标签替换为有用的标签。 Xcode 只是一个 IDE。如果您的问题不是关于扩展 Xcode 以便它可以使用 sqlite 事务,那么您不应该使用 Xcode 标记。
  • @Curlyman - 这不是显而易见的。您可以在 XCode 和 iPhone 上使用多种不同的语言。
  • 是的,你可以。你可以做很多事情。只是如果没有指定很明显就是objective-c。

标签: objective-c ios transactions sqlite


【解决方案1】:

您可以通过在 SQLite 中执行以下不言自明的命令来做到这一点:begin immediate transactioncommit transactionrollback transaction

注意:我使用了immediate 事务行为。有关它和其他(deferredexclusive)的信息,请查看here

要在 Objective-C 中执行命令,请使用这个(其中sql 包含上述命令之一作为NSString;而db 是您的数据库句柄 - sqlite3*):

if (sqlite3_exec(db, [sql UTF8String], NULL, NULL, NULL) != SQLITE_OK) {
  // deal with error...
}

【讨论】:

    猜你喜欢
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多