FMDB
来源:互联网 发布:广联达软件介绍 编辑:程序博客网 时间:2024/05/16 10:13
FMDB是iOS平台的SQLite数据库框架。FMDB以OC的方式封装了SQLite的C语言API
项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配。
在 FMDB 中有三个重要的类:
FMDatabase:是一个提供 SQLite 数据库的类,用于执行 SQL 语句。
FMResultSet:用在 FMDatabase 中执行查询的结果的类。
FMDatabaseQueue:在多线程下查询和更新数据库用到的类。
数据库更新
SQL 语句中除过 SELECT 语句都可以称之为更新操作。包括 CREATE,UPDATE,INSERT,ALTER,COMMIT,BEGIN,DETACH,DROP,END,EXPLAIN,VACUUM,REPLACE 等。一般只要不是以 SELECT 开头的 SQL 语句,都是更新语句。
通常情况下,一个 FMResultSet 没有必要手动 -close,因为结果集合 (result set) 被释放或者源数据库关闭会自动关闭。
事务
FMDatabase 可以通过调用方法来开始和提交事务,也可以通过执行开始\结束事务 (begin\end transaction) 语句。
事务的sql语句:
开始事务begin transaction
提交事务commit transaction
回滚事务rollback transaction
[_dataBase inTransaction:^(FMDatabase *db, BOOL *rollback) { BOOL success = [db executeUpdate:sql]; if (!success) { *rollback = YES; return; }}];
多语句和批处理
FMDatabase 可以通过 -executeStatements:withResultBlock: 方法在一个字符串中执行多语句。
FMDatabaseQueue 队列和线程安全
在多线程中同时使用 FMDatabase 单例是极其错误的想法,会导致每个线程创建一个 FMDatabase 对象。不要跨线程使用单例,也不要同时跨多线程,不然会奔溃或者异常。
0 0
- FMDB
- FMDB
- FMDB
- FMDB
- FMDB
- fmdb
- FMDB
- FMDB
- fmdb
- FMDB
- FMDB
- fmdb
- FMDB
- FMDB
- FMDB
- FMDB
- FMDB
- FMDB
- 【hdu 2486】A simple stone game
- 从POI 生成EXCEL 到二进制下载
- 【leetcode】15. 3Sum
- iOS设置输入框只能输入正整数或小数,且小数位数不能超过两位
- 常见b2c网站购物车的设计
- FMDB
- ES postfilter的危害(持续更新)
- Python练习实例2
- 使用RecyclerView实现瀑布流布局(一)
- WINDOW进程通信的几种方式
- QScintilla编译安装使用
- linux open lseek
- 自定义UITableViewCell分割线不显示或粗细不同的原因
- Android Instant App 介绍