iOS,FMDB的介绍与使用

来源:互联网 发布:java计算器程序源代码 编辑:程序博客网 时间:2024/05/21 17:49

FMDB是iOS平台的SQLite数据库框架

FMDB以OC的方式封装了SQLite的C语言API

FMDB优点是:使用起来更加的面向对象,省去了很多麻烦和冗余的的C语言代码

苹果自带的Core Data框架,通俗的讲,适用于大数据的处理,而FMDB适用与中小型数据处理,FMDB比苹果自带的Core Data框架,更加的轻量级,灵活;而且还提供 了多线程安全的数据库操作方法,邮箱的防止数据混乱

FMDB的下载地址:

FMDB有三个主要的类:

1,FMDatabase   : 一个FMDatabase对象就代表一个单独的SQLite数据库,  用来执行SQL语句

2,FMResultSet   : 使用FMDatabase执行查询的结果集

3,FMDatabaseQueue  :   (数据库多线程队列)  用于在多线程中执行多个查询或更新,它是线程安全的(没有死锁那些情况)



打开数据库:

通过指定的SQLite数据库文件路径来创建FMDataBase对象


这里的path有,文件路径有三种情况:>

1,如果你传的是具体路径,  首先要进行判断,如果文件存在,直接使用,如果不存在,它会自动创建

2,如果传的是一个空字符串@" ",会在沙盒的临时目录(temp文件下)下创建一个空的数据库

缺点:  只要你把database关闭时,数据库文件也会被删除

3,如果传入的是一个nil ,那么他会创建一个内存中临时的数据库,当FMdatabase连接关闭时,数据库就会被销毁


FMDB的执行更新:

在FMDB中,除查询意外的所有操作,都成为"更新": create,drop,insert ,update,delete

使用excuteUpdate:方法执行更新  (执行查询以为的所有操作)

只有查询使用: executeQuery

创建表:

BOOL result = [self.db excuteUpdate:@"create table if not exists t_student (id integer primary key auto increment, name text, age integer);"];


插入数据:

NSString *sql = [NSString stringWithFormat:@"insert into t_student  (name,age) values('%@',%d);student.name,student.age"];


更新,删除和插入的语句基本上一样.


查询数据:

FMResultSet *rs = [self.db executeQuery:@"select * from t_student;"];

遍历结果集

while (rs.next){

int ID = [rs intForColumn:@"id"];

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

int age = [rs intForColumn:@"age"];

}



 

0 0
原创粉丝点击