天天看点

FMdatabase EXC_BAD_ACCESS

        最近使用FMdataBase时遇到一个问题,更新数据时,总是跳到FMDataBase的某行代码,陷入死循环,然后通过

找到了问题的所在,

int count;

NSString *updateSql= @"update tableName set count = ? and status = ? where id =?";

 [_database executeUpdate:updateSql,count+ 1,-1,id]);

比如说这样的代码就会出现这种错误,原因是FMDataBase中的executeUpdate中所有的参数都必须是对象类型的数

据,例如上面的count+1和-1全部是int类型的,所以就出现了错误,解决办法是把他们转化成NSNumber或者SString

就可以了,在http://stackoverflow.com/上有比较详细的解答,顺便贴出链接,有兴趣的可以观看原文

http://stackoverflow.com/questions/12434214/exc-bad-access-on-insert-sqlite3-with-fmdatabase-only-can-query