【发布时间】:2016-01-08 10:21:08
【问题描述】:
我们现有的 SQlite3 DB 实现可以在 iOS v8.4.1 上完美运行。 在 iOS9 上,DB 模块无法按预期工作。在调查该问题时,我们发现 SQlite3_changes 没有提供自上次修改后数据库中发生的更改计数。
有没有人遇到过类似的问题?谢谢你的帮助.....
我们定义了一种按需插入记录的方法。方法: 1. 如果可用,使用 sqlite3_open 打开数据库 2.准备SQL语句 - sqlite3_prepare_v2 3.执行SQL语句-sqlite3_step一个接一个,直到所有记录完成。 4. 对每条执行的sql语句执行sqlite3_reset和sqlite3_finalize。 5. 提交事务 - 使用 sqlite3_exec 6. sqlite3_close - 最后关闭数据库。
在后续调用中,我们检查始终返回 0 的数据库更改。
- (int)DBchanges { 整数值; if((值 = sqlite3_changes(self->_db)) != SQLITE_OK){ NSLog(@"条目失败:%s", sqlite3_errmsg(self->_db)); } 返回值; }
【问题讨论】:
-
如果您发布minimal reproducible example,您可能会吸引更多关注。
-
基本上,我们使用的逻辑很简单。