Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS fmdb:获取sqlite错误_Ios_Objective C_Fmdb - Fatal编程技术网

iOS fmdb:获取sqlite错误

iOS fmdb:获取sqlite错误,ios,objective-c,fmdb,Ios,Objective C,Fmdb,在iOS中使用fmdb时,我遇到以下错误。这是什么意思 调用sqlite3_步骤时出错(1:无法在 事务)SQLITE_错误数据库查询:开始独占事务 完成或重置语句时出现未知错误(1:无法启动 事务中的事务)数据库查询:开始独占 交易 在没有看到您正在对fmdb进行什么调用的情况下,很难确定发生了什么问题,但听起来您正在从现有的inTransaction块中调用inTransaction。这是不允许的,应该永远不会发生,只需从第一个事务块进行所有更新。查找对FMDatabase方法beginTr

在iOS中使用fmdb时,我遇到以下错误。这是什么意思

调用sqlite3_步骤时出错(1:无法在 事务)SQLITE_错误数据库查询:开始独占事务 完成或重置语句时出现未知错误(1:无法启动 事务中的事务)数据库查询:开始独占 交易


在没有看到您正在对fmdb进行什么调用的情况下,很难确定发生了什么问题,但听起来您正在从现有的inTransaction块中调用inTransaction。这是不允许的,应该永远不会发生,只需从第一个事务块进行所有更新。

查找对
FMDatabase
方法
beginTransaction
的嵌套调用和/或手动执行
开始事务
SQL。或者,如果使用
FMDatabaseQueue
,请查找您可能从另一个
inTransaction
块中调用
inTransaction
的情况

或者,如果您正在手动调用
beginTransaction
和/或执行
beginTransaction
,请确保该值被平衡
commit
/
rollback
或执行
commit
/
END
/
rollback
SQL抵消。这是使用
FMDatabaseQueue
方法
inTransaction
的好处,因为您知道不能意外忽略结束事务

最重要的是,确保在开始一项交易之前,不会先结束前一项交易。如果找不到断点,请将断点/日志语句放在进入事务和退出事务的所有位置,问题应该很快就会显现出来