iOS FMDB的坑

1、executeUpdate


这是插入语句,导致查询的时候

FMResultSet  *rs = [dbexecuteQuery:sqlStr];

while([rs next]) {

不能进入while里

}

2、executeQuery

3、FMDB ?,只能是对象,不能是基本数据类型,如果是int类型,就包装成NSNumber

4、SQLite3是采用可移植的C(而非Objective-C)编写的,它不知道什么是NSString,可以用NSString实例生成C字符串:

const char *stringPath = 【pathString UTF8String】

Objective-C中所有接受字符串的SQLite3函数都要求使用旧样式的C字符串。在编写代码时,我们可以创建并传递一个C字符串,也可以创建一个NSString并通过它的方法(UTF8String)派生一个C字符串。这两个方法都行。如果需要操作字符串,则使用NSString或NSMutableString比较容易,但将NSString转换成C字符串会导致一些额外开销。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容