gpt4 book ai didi

objective-c - iOS SQLite FMDB 事务.. 正确用法?

转载 作者:IT王子 更新时间:2023-10-29 06:20:58 25 4
gpt4 key购买 nike

我将尝试使用带有 FMDB SQLite iOS 包装器的事务。

文档在交易方面有些含糊,但通过快速查看一些功能,我得出了以下逻辑:

[fmdb beginTransaction];
// Run the following query
BOOL res1 = [fmdb executeUpdate:@"query1"];
BOOL res2 = [fmdb executeUpdate:@"query2"];

if(!res1 || !res2) [fmdb rollback];
else [fmdb commit];

最佳答案

您还可以使用 FMDatabaseQueue 来处理您的事务,它是 fmdb 的一部分:

[queue inTransaction:^(FMDatabase *db, BOOL *rollback) {
[db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:1]];
[db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:2]];
[db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:3]];

if (whoopsSomethingWrongHappened) {
*rollback = YES;
return;
}
// etc…
[db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:4]];
}];

Documentation

关于objective-c - iOS SQLite FMDB 事务.. 正确用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com