我有一个数据库层,当我在AppDelegate上使用它时,它可以很好地工作。
当我在ViewController中获取该图层时,它返回错误SQLITE_BUSY,我的数据库被锁定。
我使用args“BEGIN EXCLUSIVE TRANSACTION”运行sqlite_exec,然后在sqlite_step(STATEMENT)之后运行sqlite_exec并使用args“COMMIT TRANSACTION”
提前感谢您的帮助。
答案 0 :(得分:1)
我正在管理现有代码,所以我无法切换。但是,如果你的wana切换仍然在sql fmdb(https://github.com/ccgus/fmdb)工作是一个很好的替代。
我通过在使用db之后添加以下行来修复我的问题。你永远不应该忘记关闭连接。
sqlite3_finalize(statement);
sqlite3_close(contactDB);