FMDB是操作数据库的一个框架,其中包含了很多的有用的方法。
看看FMDB框架是怎么用的。
1.数据model
@interface ChapterModel : NSObject
@property(nonatomic,copy)NSString *pid;
@property(nonatomic,copy)NSString *pname;
@property(nonatomic,copy)NSString *pcount;
@end
2.封装一个类,这个类是一个类方法,用来管理数据库的。
.h
#import <Foundation/Foundation.h>
typedef enum {
chapter//1.章节练习
}DataType;
@interface MyDataManager : NSObject
+(NSArray *)getData:(DataType)type;
@end
.m 方法实现
#import "MyDataManager.h"
#import "FMDatabase.h"
#import "ChapterModel.h"
@implementation MyDataManager
+(NSArray *)getData:(DataType)type{
//1.创建一个数据库对象,和一个接收数据数组
static FMDatabase *dataBase;
NSMutableArray *array = [NSMutableArray array];
//2.获取到数据库的路径
if (dataBase == nil) {
NSString *path = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"sqlite"];
dataBase = [[FMDatabase alloc] initWithPath:path];
}
//3.打开数据库(进行判断)看是否打开成功
if ([dataBase open]) {
NSLog(@"database open success");
}else{
return array;
}
//4.利用switch判断判断表,查找数据
switch (type) {
case chapter:{//数据库查询语句 注意查找列名---表名
NSString *sql = @"select pid,pname,pcount FROM firstlevel ";
//创建一个查询结果的对象
FMResultSet *result = [dataBase executeQuery:sql];
//遍历查询结果,获取数据
while ([result next]) {
NSLog(@"result = %@",result);
//创建一个模型接收
//建立一个模型数组
ChapterModel *model = [[ChapterModel alloc] init];
model.pid = [NSString stringWithFormat:@"%d",[result intForColumn:@"pid"]];
model.pname = [result stringForColumn:@"pname"];
model.pcount = [NSString stringWithFormat:@"%d",[result intForColumn:@"pcount"]];
//添加到array中
[array addObject:model];
}
}
break;
default:
break;
}
return array;
}
@end