您的位置:首页 > 数据库

数据库-FMDB误用引起的崩溃问题

2016-07-16 17:22 225 查看
FMDB误用引起的,解决后记录一下:

值为null的列处理

先是通过resultDictionary方法,将ResultSet转换成NSDictionary?
然后用objectForKey取出某一列的值,如果该列为空,则返回NSNull,但是判断非空时发生错误:?
上面的代码是错的,即使此列为空,也会走进非空的分支。要用下面的代码:?

拼接SQL时,表名不能是变量

做一个简单的全表查询,返回结果居然是0 row,最后发现表名不能是变量,以下2种写法都是错的?
?
查询参数可以是变量,然后绑定参数,但是表名必须是常量,所以要这么写:?
先提前把sql拼好,传给executeQuery方法的是一个常量

传给executeQuery或者executeUpdate的参数,必须是NSObject

执行一句SQL时,FMDB报EXC_BAD_ACCESS,应用崩溃。在stackoverflow上查到,传给execute方法的参数,必须是NSObject。如果本来是原始数据类型如int,long等,要先用Wrapper类包装一下。以下的代码是错的:?
应该写成:?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: