精华内容
下载资源
问答
  • FMDB

    2016-06-19 00:41:40
    FMDB
    • 1.概念:FMDB是ios平台的SQLite数据库框架,以OC的形式封装了SQLite的C语言的API

    • 2.优点:面向对象,轻量级,灵活,提供了多线程安全的数据库操作方法

    • 3.核心类

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

      • 2.FMResultSet:查询后的结果集

      • 3.FMDatabaseQueue:用于多线程中执行多个查询或更新,是线程安全的

    • 4.打开数据库

    
    //实例化一个数据库对象
    FMDatabase *db = [FMDatabase databaseWithPath:path];
    
    if([db open]){
      //如果数据库打开成功
    }
    

    文件路径有三种情况

    (1)具体文件路径

    如果不存在会自动创建

    (2)空字符串@""

    会在临时目录创建一个空的数据库

    当FMDatabase连接关闭时,数据库文件也被删除

    (3)nil

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

    • 5.执行更新

    - (BOOL)executeUpdate:(NSString*)sql, ...
    
    - (BOOL)executeUpdateWithFormat:(NSString*)format, ...
    
    - (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments
    
    • 6.执行查询

    查询方法:

    - (FMResultSet *)executeQuery:(NSString*)sql, ...
    
    - (FMResultSet *)executeQueryWithFormat:(NSString*)format, ...
    
    - (FMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray *)arguments
    

    示例:模糊查询

    +(NSArray<CZProductModel *> *)queryAllProductWithKeyWord:(NSString *)keyword{
    
        NSString *sql = [NSString stringWithFormat:@"select * from t_product where proName like '%%%@%%'",keyword];
        FMResultSet *set = [_db executeQuery:sql];
    
        NSMutableArray *mArray = [NSMutableArray array];
        //取数据,一行行取数据
        while ([set next]) {
            //取该行的列数据
            int proNo = [set intForColumnIndex:0];
            NSString *proName = [set stringForColumn:@"proName"];
            int proPrice = [set intForColumnIndex:2];
            NSLog(@"%d,%@,%d",proNo,proName,proPrice);
            CZProductModel *model = [CZProductModel new];
            model.proNo = proNo;
            model.proName = proName;
            model.proPrice = proPrice;
    
            [mArray addObject:model];
        }
    
        return mArray.copy;
    }

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,037
精华内容 3,214
关键字:

FMDB