zoukankan      html  css  js  c++  java
  • 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:
  • 相关阅读:
    javascript封装自定义滚动条方法,可自定义四个边框滚动条
    前端页面优化:javascript图片延迟加载
    VPS用LNMP安装WordPress
    结缘PDO
    Laravel踩坑笔记——illuminate/html被抛弃
    Android定时器实现方法[转]
    关于安装Android Studio的一些问题的解决方法
    nginx 多站点配置方法
    PHP5.6.x的新鲜事
    ThinkPHP学习手记——环境搭建
  • 原文地址:https://www.cnblogs.com/guchengfengyun/p/8119730.html
Copyright © 2011-2022 走看看