FMDB是对sqlite进行封装的第三方库,对于其基础的知识网络中已经有了数不胜数的说明,这里就不在重复的说明。本文的主要目的是了解FMDB的基本操作:

1)通过手动或cocopads添加FMDB的第三方库。

2)在工程中添加头文件:

#import <FMDatabaseAdditions.h>

#import <FMDatabaseQueue.h>

补:本案例只有有user一个表  表中有列三个:姓名,年龄,性别。

*路径

- (NSString *)databasePath

{

NSString *path =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)objectAtIndex:0];

NSString *dbPath = [pathstringByAppendingPathComponent:@"user.db"];

return dbPath;

}

3) 插入

FMDatabase *database = [FMDatabasedatabaseWithPath:[selfdatabasePath]]; //根据路径找到数据库,如果不存在则自动创建一个

if (![database open]) { //判断数据库是否打开

NSLog(@"open database failed");

return;

}

if (![databasetableExists:@"user"]) { //判断是否存在表user,如果不存在就创建表

[database executeUpdate:@"create table user (id integer primary key autoincrement not null,name text,age text,sex text)"];

}

BOOL insert = [databaseexecuteUpdate:@"insert into user(name,age,sex) values (?,?,?)",_name.text,_age.text,_sex.text];//通过sql语句来进行操作

if (insert) {

NSLog(@"保存成功");

}else

{

NSLog(@"保存失败");

}

[database close];

4) 删除

FMDatabase *database = [FMDatabasedatabaseWithPath:[selfdatabasePath]];

if (![databaseopen]) {

return;

}

BOOL delete = [databaseexecuteUpdate:@"delete from user where name = ?",@""];

if (delete) {

NSLog(@"删除成功");

}else

{

NSLog(@"删除失败");

}

[database close];

5) 更新

FMDatabase* database=[FMDatabase databaseWithPath:[self databasePath]];

if (![database open]) {

return;

}

BOOL update=[database executeUpdate:@"update user set age = ? where name= ?",@"20",@"chen"];

if (update) {

NSLog(@"更新成功");

}else {

NSLog(@"更新失败");

}

[database close];

6) 查询

FMDatabase *database = [FMDatabase databaseWithPath:[self databasePath]];

if (![database open]) {

return;

}

FMResultSet *result = [database executeQuery:@"select *from user"];

while ([result next]) {

NSString *name = [result stringForColumn:@"name"];

NSLog(@"name = %@",name);

}

[database close];

FMDB 的简单说明相关推荐

  1. FMDB的简单应用(4篇)

    转截地址:http://blog.csdn.net/demon1900demon/article/details/23602535 转截地址:http://www.mobiledevor.com/po ...

  2. FMDB数据库简单使用

    上一篇文章sqlite3原生数据库简单使用 介绍了sqlite3原生数据库的简单使用,由于执行语句都是C语言写的,导致看起来操作非常不方便,因此便根据数据库封装了一个很好用的第三方框架,以下是他的简单 ...

  3. IOS数据存储 之WCDB (一)

    IOS数据存储 之WCDB (一) 1. WCDB 简介 1.1 使用WCDB框架3大优势 1.2 WCDB 的一些基础概念 1.2.1 类字段绑定(ORM) 1.2.2 WINQ(WCDB语言集成查 ...

  4. ocbase 数据库 蚂蚁_iOS开发数据库篇—FMDB简单介绍

    iOS开发数据库篇-FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来 ...

  5. iOS FMDB之FMDatabaseQueue(事物与非事物)

    事物与非事物 事物是一个并发控制的基本单元,所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位. 事物与非事物,简单的举例来说就是,事物就是把所有的东西打包在一 ...

  6. 数据库操作(使用FMDB)

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...

  7. FMDB:中的用法介绍

    2019独角兽企业重金招聘Python工程师标准>>> FMDB:我的SQLite救星 好滴-离上次发文又给他隔了三个月,为什么咧??因为林杯我很忙,这三个月我跑去订婚.结婚.归宁外 ...

  8. (iOS)sqlcipher和FMDB的使用总结(原创)

    写这篇文章的原因是之前接触到了关于sqlite数据库加密的问题,一般数据库加密,无非是数据加密和数据库文件加密,当然数据库文件加密对手机效率可能更高一些. 下面就讲一下,自己对sqlcipher和fm ...

  9. sqlite第三方类库FMDB的使用

    FMDB是ios平台下解析sqlite的第三方数据库管理框架,使用非常方便,而且提供了多线程安全的数据库操作,相比coredata来说更加灵活和轻量级. fmdb主要有三个类别: fmdatabase ...

最新文章

  1. java如何重写_java中如何重写一个方法
  2. .net程序员的盲点(八):泛型
  3. 【Android 界面效果10】Android中View,ViewGroup,Window之间的关系
  4. PIT和TestNG突变测试简介
  5. php pdo 预处理删除,PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理
  6. SQL Server 2016的新功能–临时数据表
  7. struts2 拦截器_Struts2 execAndWait拦截器示例,用于长时间运行的动作
  8. 八大排序算法思想介绍
  9. 西门子博图使用Trace功能
  10. Visio如何绘制数据流图
  11. 3DMax游戏建模常用基本命令
  12. OpenCV学习 之 IplImage*遍历每个像素点
  13. Nlp预处理方法(BPE Byte pair encoding、Normalization、Lemmatisation、Stemming…)
  14. PCIe Expansion Roms
  15. 存储容量及相关计算单位
  16. Django 千锋培训读书笔记
  17. matlab怎么解非满秩矩阵,在numpy或matlab中由满秩非方矩阵求可逆方阵
  18. 卡片跳转快应用指定页面,如何点返回直接退出快应用回到卡片
  19. SaaS、PaaS、LaaS以及之间的区别
  20. python中search函数用法_查找匹配函数FIND和SEARCH的基本用法

热门文章

  1. 2、Lctech Pi(F1C200S)开发环境搭建(CherryPi,Mangopi,F1C100S)
  2. R语言基于库克距离统计量识别(Cook’s distance)对于回归模型性能或者预测影响(Influential observation)很大的观测样本、可视化库克距离并添加阈值线识别影响力大的样本
  3. 删除重复文件的脚本代码
  4. 【Hadoop HA】搭建Hadoop HA的详细教程
  5. [渝粤教育] 西南科技大学 投资项目评估 在线考试复习资料
  6. veins中实现rsu与车辆通信
  7. 酷睿i7和i5对计算机专业要求,英特尔酷睿i5和i7处理器哪个好 英特尔酷睿i5和i7处理器详细介绍...
  8. xDM Land Patterns 封装工具使用笔记
  9. JFinal配置说明
  10. 【LeetCode 1125】 Smallest Sufficient Team