FMDB框架的使用

作者: hunterzhu | 来源:发表于2016-08-14 17:35 被阅读231次

    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
    

    相关文章

      网友评论

        本文标题:FMDB框架的使用

        本文链接:https://www.haomeiwen.com/subject/mniysttx.html