数据存储方式FMDB

2019-3-29 王建伟 iOS开发

FMDB说iOS平台的SQLite数据库框架,使用起来更加面向对象,省去了很多麻烦,冗余的C语言代码,对比苹果自带的Core Data框架,更加轻量级和灵活,提供了多线程安全的数据库操作方法,有效的防止数据混乱

FMDB有三个主要的类

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

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

FMDatabaseQueue:用于在多线程执行多个查询或更新,它是线程安全的

打开数据库,通过指定SQLite数据库文件路径来创建FMDatabase对象

FMDatabase*db=[FMDatabase databaseWithPath:path];

if(![db open]){NSLog(@"数据库打开失败");}

文件路径有三种情况

(1) 具体文件路径,如果不存在会自动创建

(2) 空字符串@“”,会在临时目录创建一个空的数据库,当FMDatabase连接关闭时,数据库文件也被删除

(3) nil会创建一个内存中临时数据库,当FMDatabase连接关闭时,数据库会被销毁

在FMDB中,除查询以外的所有操作,都被称为“更新” create drop insert update delete等

使用executeUpdate:方法执行更新

-(BOOL)executeUpdate:(NSString*)sql

-(BOOL)executeUpdateWithFormat:(NSString*)format,...

-(BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray*)arguments

查询方法

-(FMResultSet*)executeQuery:(NSString*)sql,...

-(FMResultSet*)executeQueryWithFormat:(NSString*)format,...

-(FMResultSet*)executeQuery:(NSString*)sql withArgumentInArray:(NSArray*)arguments

遍历结果集

while([rs next]){NSString*name = [rs stringForColumn:@"name"];int age=[rs intForColumn:@"age"];double score = [rs doubleForColumn:@"score"];}

示例代码

网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2024 www.elight.cn, All Rights Reserved