iOS fmdb:获取sqlite错误
在iOS中使用fmdb时,我遇到以下错误。这是什么意思 调用sqlite3_步骤时出错(1:无法在 事务)SQLITE_错误数据库查询:开始独占事务 完成或重置语句时出现未知错误(1:无法启动 事务中的事务)数据库查询:开始独占 交易iOS fmdb:获取sqlite错误,ios,objective-c,fmdb,Ios,Objective C,Fmdb,在iOS中使用fmdb时,我遇到以下错误。这是什么意思 调用sqlite3_步骤时出错(1:无法在 事务)SQLITE_错误数据库查询:开始独占事务 完成或重置语句时出现未知错误(1:无法启动 事务中的事务)数据库查询:开始独占 交易 在没有看到您正在对fmdb进行什么调用的情况下,很难确定发生了什么问题,但听起来您正在从现有的inTransaction块中调用inTransaction。这是不允许的,应该永远不会发生,只需从第一个事务块进行所有更新。查找对FMDatabase方法beginTr
在没有看到您正在对fmdb进行什么调用的情况下,很难确定发生了什么问题,但听起来您正在从现有的inTransaction块中调用inTransaction。这是不允许的,应该永远不会发生,只需从第一个事务块进行所有更新。查找对
FMDatabase
方法beginTransaction
的嵌套调用和/或手动执行开始事务
SQL。或者,如果使用FMDatabaseQueue
,请查找您可能从另一个inTransaction
块中调用inTransaction
的情况
或者,如果您正在手动调用beginTransaction
和/或执行beginTransaction
,请确保该值被平衡commit
/rollback
或执行commit
/END
/rollback
SQL抵消。这是使用FMDatabaseQueue
方法inTransaction
的好处,因为您知道不能意外忽略结束事务
最重要的是,确保在开始一项交易之前,不会先结束前一项交易。如果找不到断点,请将断点/日志语句放在进入事务和退出事务的所有位置,问题应该很快就会显现出来