我有一个FMDB executeUpdate导致无限循环:
FMDatabase *db = [FMDatabase databaseWithPath:[CDDBManager getDatabasePath]];
[db closeOpenResultSets];
[db close];
NSLog(@"successfully pass closes");
[db open];
NSLog(@"successfully pass open");
[db setTraceExecution:YES];
BOOL success = [db executeUpdate:@"INSERT OR REPLACE INTO Player (id, ..., is_user) VALUES (?, ..., ?)",
[NSNumber numberWithInt:self.player_id],
...
[NSNumber numberWithInt:1]];
NSLog(@"end update");
[db close];
我在两个不同的VC中调用此方法,在一个中它完美地工作...在另一个中我有一个无限循环(我在FMDB的“do {} while()”中打印重试),所以我不这样做看“结束更新”...... 如您所见,我已经尝试关闭所有结果集和db ...
任何人都可以看到我失败的地方?
欢迎所有建议。
答案 0 :(得分:1)
我认为我们遇到了同样的问题。我正在为我想要调用数据库的每个方法打开一个连接。我通过在init上打开连接来修复它。
答案 1 :(得分:0)
我很抱歉,这是一个简单的错误,我在条件句中返回后关闭 FMResultSet ......