FMDB 数据库的使用

FMDB 数据库 和 SQLite3 非常相似  但要比 SQLite3 省好多代码  没有了各种绑定 直接引用 FMDB 的方法就可以简单解决

首先 FMDB 他还是一个单例类  因为要被其他类 使用

FMDB 还是由 打开数据库  创建数据名   添加数据   更新数据   删除数据  查询数据 几部分内容

在这里 model 的属性除了 image 外都是 NSString 类型  image 是 NSData 类型 所以在下面的查询处会有一个转换方式

打开数据库: 先 获取路径  在调用  databaseWithPath 这个方法 代码如下:

NSString *str = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:sqliteName];

db = [FMDatabase databaseWithPath:str];

创建字段: 先打开数据库 再添加所有要添加的数据字段 然后调用  executeUpdate:方法

NSString *str = [NSString stringWithFormat:@"create table if not exists %@ (ID integer primary key autoincrement, name text, gender text, age text, image blob, myID text)", tableName];

BOOL flag = [db executeUpdate:str];

插入数据: 先打开数据库 再插入所要添加的数据(一定要注意他们的先后顺序) 然后调用  executeUpdate:方法

NSString *str = [NSString stringWithFormat:@"insert into %@ (name, gender, age, image, myID) values (?, ?, ?, ?, ?)", tableName];

BOOL flag = [db executeUpdate:str, name, gender, age, image, myID];

更新数据: 先打开数据库 再添加需要更新的所有字段 然后调用 executeUpdate:方法

NSString *str = [NSString stringWithFormat:@"update %@ set name = ?, gender = ?, age = ?, image = ?, myID = ? where myID = ?", tableName];

BOOL flag = [db executeUpdate:str,name, gender, age, image, myID, forMyID];

删除数据: 先打开数据库 再删除数据要根据字段中唯一的一个字段值进行删除 然后调用  executeUpdate方法

NSString *str = [NSString stringWithFormat:@"delete from %@ where myID = ?", tableName];

BOOL flag = [db executeUpdate:str,myID];

查询所有数据: 先打开数据库 根据表明进行查询数据 然后调用  executeQuery:方法

NSString *str = [NSString stringWithFormat:@"select * from %@", tableName];

Model *model = [[Model alloc] init];

FMResultSet *result = [db executeQuery:str];

NSMutableArray *array = [NSMutableArray array];

while ([result next]) {

model.name = [result stringForColumn:@"name"];

model.gender = [result stringForColumn:@"gender"];

model.age = [result stringForColumn:@"age"];

// 将 NSString 转换成 NSData 类型

model.image = [[result stringForColumn:@"image"] dataUsingEncoding:NSUTF8StringEncoding];

model.myID = [result stringForColumn:@"myID"];

[array addObject:model];

}

最后 在需要的地方调用

小结:

创建 插入 跟新  删除 基本上相似 sql语句方法中有几个参数就有几个字段 那就添加几个 执行语句基本上是一样的

查询所有的结果是一个个的 model 所以用数组装起来 返回数组 执行语句和上面的不同 executeQuery:

若是查询一个 返回的是一个model

时间: 2024-08-02 07:01:28

FMDB 数据库的使用的相关文章

iOS开发数据库篇—FMDB数据库队列(下)

iOS开发数据库篇—FMDB数据库队列(下) 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "Y

FMDB数据库的简单实用

引入和FMDB第三方类库,  demo地址:http://pan.baidu.com/s/1c0pbfxA 1 #define dataBasePath [[(NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)) lastObject]stringByAppendingPathComponent:dataBaseName] 2 #define dataBaseName @"MyDatabase

iOS开发数据库篇—FMDB数据库队列

iOS开发数据库篇—FMDB数据库队列 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "YYVi

iOS数据持久化—FMDB数据库队列

iOS开发数据库篇—FMDB数据库队列 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "YYVi

FMDB数据库队列

一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "YYViewController.h"

iOS - FMDB数据库的使用

下面不废话了直接上代码??/* 首先把FMDB拖入到工程中,需要我们把sqlite3这个库导入工程,(若是非ARC的工程,我们可以直接导入就好) 数据库-->操作大量的有规律的数据 FMDB是别人在系统数据库的繁琐的基础上给又封装了一下,供我们使用,-->相比于系统数据库更简单,好用 FMDatabase 主要是提供操作时用得sql语句 FMDatabaseAdditions.h 只要是负责多线程或是查询时更新时的操作 FMDBResultSet 结果集,对数据库的操作,返回结果 */ //创

FMDB数据库框架的是使用

IOS操作数据库,SQLite3和coredata是两个非常好的选择,但是对于我们这些掌握了其他数据库语言的人来说,使用这两中操作都会觉得不方便,SQLite3使用起来太复杂了,而使用coredata的时候却封装太死了,我们需要自己些自己的数据库语句,这时候,FMDB就是一个非常不错的选择 下面是FMDB的基本使用 在Main.storyboard中添加4个按钮分别是(插入 , 更新,删除 , 查询) 在ViewController中 // //  ViewController.m // //

IOS数据存储之FMDB数据库

前言: 最近几天一直在折腾数据库存储,之前文章(http://www.cnblogs.com/whoislcj/p/5485959.html)介绍了Sqlite 数据库,SQLite是一种小型的轻量级的关系型数据库,不过直接用ios sdk提供的API来进行数据库开发,多多少少感觉不那么得心应手.后来也学了更加面向对象的CoreData数据库,不过coreData感觉对数据库的支持不太那么好,虽然操作方便,但是损失了性能以及效率,对于数据量比较大的app来说就有点不太合适了,如果有兴趣的可以看下

iOS数据库操作fmdb1: FMDB数据库使用

FMDatabase 数据库 1.下载FMDatabase 导入下载里面的src文件,删了fmdb.m文件 2.引入framework:libsqlite3.dylib 3.引入头文件 #import "FMDatabase.h" 数据库文件要兼容iPhone4和iPhone5需要放在Document或Library目录中,先判断Document/Library中数据库文件(一般是.sqlite后缀)是否存在,如果不存在则从工程(bundle)中把数据库文件拷贝到Document中或L