• IOS 数据库(FMDB)


    FMDB概述:

    1.sqlite3的封装,比sqlite3更好用

    2.基于oc的代码,使用更方便

    3.基于队列,保证线程安全

    FMDB类结构图:

    使用步骤

    在 FMDB 中有三个重要的类:

    • FMDatabase:是一个提供 SQLite 数据库的类,用于执行 SQL 语句。
    • FMResultSet:用在 FMDatabase 中执行查询的结果的类。
    • FMDatabaseQueue:在多线程下查询和更新数据库用到的类。

    数据库创建

    // 创建数据库示例
    FMDatabase *db = [FMDatabase databaseWithPath:@"/tmp/tmp.db"];

    数据库的表的创建,添加,删除更新

     BOOL update = [_db executeUpdate:@"update t_health set name = ?  where phone = '%@'",@"jacob111"];  

    数据库的查询

    FMResultSet *set = [_db executeQuery:@"select * from t_health "];  
        while ([set next]) {  
            NSString *name =  [set stringForColumn:@"name"];  
            NSString *phone = [set stringForColumn:@"phone"];  
            NSLog(@"name : %@ phone: %@",name,phone);  
        } 

    数据库多条语句的执行

    [queue inDatabase:^(FMDatabase *db) {
        [db executeUpdate:@"INSERT INTO t_student(name) VALUES (?)", @"Jack"];
        [db executeUpdate:@"INSERT INTO t_student(name) VALUES (?)", @"Rose"];
        [db executeUpdate:@"INSERT INTO t_student(name) VALUES (?)", @"Jim"];
        
        FMResultSet *rs = [db executeQuery:@"select * from t_student"];
        while ([rs next]) {
            //
        }
    }];

    其它

    FMResultSet 提供了很多方便的方法来查询数据:

    • intForColumn:
    • longForColumn:
    • longLongIntForColumn:
    • boolForColumn:
    • doubleForColumn:
    • stringForColumn:
    • dateForColumn:
    • dataForColumn:
    • dataNoCopyForColumn:
    • UTF8StringForColumn:
    • objectForColumn:
  • 相关阅读:
    数据结构——二叉树创建及遍历
    数据结构——二叉树基础
    数据结构——树
    C++拷贝构造函数
    链表C语言实现
    hrbust-oj 1937 神奇的进制转换
    UVALive 6736 Army Formation (容斥原理)
    POJ 2888 Magic Bracelet (Burnside + 矩阵加速dp)
    UVA 10601 Cubes (Burnside引理)
    UVA 11255 Necklace (BurnSide定理)
  • 原文地址:https://www.cnblogs.com/guchengfengyun/p/8119730.html
Copyright © 2020-2023  润新知