iOS开发-FMDB
来源:互联网 发布:mac 加速器 编辑:程序博客网 时间:2024/05/01 20:03
前言
SQLite是一个轻量级的关系数据库。
iOS SDK 很早就支持了 SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。
但是,原生的 SQLite API 在使用上相当不友好,在使用时,非常不便。于是,开源社区中就出现了一系列将 SQLite API 进行封装的库,而 FMDB (https://github.com/ccgus/fmdb) 则是开源社区中的优秀者。
FMDB 同时兼容 ARC 和非 ARC 工程,会自动根据工程配置来调整相关的内存管理代码。而且他提供了多线程安全的数据库操作方法,有效地防止数据混乱。
FMDB是将sqlite封装处理的,所以使用FMDB之前也必须导入libsqlite3.dylib框架。
FMDB常用类
FMDatabase : 一个单一的SQLite数据库,用于执行SQL语句。
FMResultSet : 执行查询一个FMDatabase结果集。
FMDatabaseQueue :在多个线程来执行查询和更新时会使用这个类。
创建数据库
NSString*path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)lastObject];path = [path stringByAppendingString:@"testDB.sqlite"];db = [FMDatabase databaseWithPath:path]; //指定路径创建一个数据库 dB是一个全局变量
1、testDB.sqlite不存在,系统会在路径下自动创建一个数据库。若在该路径之前存在这样的数据库,不会重复创建。
2、如果path为@”“,系统会在一个临时的目录(并不是沙盒中的temp文件,这个临时目录是系统自动分配的)自己创建一个数据库,数据库断开连接后会自动删除。
3、如果path为nil,系统会在内存中创建一个数据库,数据库会在关闭后被销毁。
在数据库中建表
数据库中创建表
0、数据库操作前记得打开,操作结束后记得关闭
1、在FMDB中,除查询以外的所有操作,都称为“更新”。例如,create、drop、insert、update、delete等都采用executeUpdate来进行操作,select采用executeQuery操作。
2、executeUpdate方法返回一个BOOL值来表明是否操作成功。executeQuery方法返回一个FMResultSet(结果集),存放查询到的结果。
在表中插入数据
表中插入数据
1、?做占位符的话,传进来的值必须是对象类型。
2、FMDB的更新方法有很多,有兴趣的朋友可以都试试。
(BOOL)executeUpdate:(NSString*)sql, …
(BOOL)executeUpdateWithFormat:(NSString*)format, …
(BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments
2、sqlite的增删改(没有查),跟上面的格式其实都是一样的。唯一的不同的就是sqlite语句。sqlite语句不会写的直接百度搜索即可。
在表中查询数据
查询数据
1、FMResultSet提供了很多方法来获得所需的格式的值:stringForColumn doubleForColumn boolForColumn等。不仅能通过列名来取数据,还能通过列的下标取数据。
2、FMDB的查询方法也有很多,同样可以试试
(FMResultSet )executeQuery:(NSString)sql, …
(FMResultSet )executeQueryWithFormat:(NSString)format, …
(FMResultSet )executeQuery:(NSString )sql withArgumentsInArray:(NSArray *)arguments
- IOS开发~FMDB备忘
- IOS开发 FMDB
- IOS开发~FMDB备忘
- iOS开发 ----- FMDB使用
- iOS开发之FMDB
- iOS开发FMDB
- iOS开发-FMDB
- iOS开发数据库-FMDB
- iOS开发中使用FMDB
- iOS开发:FMDB的使用
- iOS开发实践之FMDB
- iOS开发~FMDB的使用
- 在iOS开发中使用FMDB
- 在iOS开发中使用FMDB
- 在iOS开发中使用FMDB
- 在ios开发中使用FMDB
- 在iOS开发中使用FMDB
- 在iOS开发中使用FMDB
- LeetCode——045
- 利用最小堆管理事件超时
- triple
- 第五周项目二(1)-游戏中的角色类
- 四个100以内的随机数排大小
- iOS开发-FMDB
- Android Studio 2.0新特性之Instant Run
- JQuery绑定事件与移除事件、动画
- 慕课 springmvc 起步 maven wbe
- android聊天器(仿QQ)编写第一天__界面的搭建和主要的布局
- js 实现图片位置随意变化
- JAVA IO(三)
- 专题二:搜索总结报告
- BZOJ4524: [Cqoi2016]伪光滑数