美文网首页
2018-07-11 FMDB使用

2018-07-11 FMDB使用

作者: 北你妹的风 | 来源:发表于2018-07-16 16:09 被阅读14次

之前都是直接用sqlite 的C语言API,感觉也没有什么不好用的,就是封装性不好,不能重用;CoreData也用过,感觉太笨重,真心不好用。

从今天开始学下FMDB和WCDB.

一、简单说明

FMDB是iOS平台的SQLite数据库框架,它以OC的方式封装了 sqlite 的C 语言API。

它的优点有:

1、更加面向对象,省去了大量的冗余的C语言代码

2、相比CoreData,更加轻量级和灵活

3、提供了多线程安全的数据库操作方法,有效地防止数据混乱

二、核心类

1、FMDatabase

数据库对象,一个FMDatabase对象就代表一个独立的sqlite数据库,可以用来执行各种sql语句。

2、FMResultSet

结果集,sql语句的执行结果

3、FMDatabaseQueue

线程安全的队列,用于在多线程环境中执行查询或修改操作

三、增删改查

在增删改查之前,要先创建表结构。

在FMDB中,除了查询以外,所有的操作都是update,包括建表。

打开数据库:

 NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

 NSString *dbPath = [docPath stringByAppendingString:@"/test.db"];

 FMDataBase *db = [FMDatabase databaseWithPath:dbPath];

1、创建表结构:

   if([db open]) {

        NSString *sql = @" create table if not exists student('ID' INTEGER PRIMARY KEY AUTOINCREMENT,'name' TEXT NOT NULL,'phone' TEXT NOT NULL,'score' INTEGER NOT NULL)";

        BOOLflag = [self.dbexecuteUpdate:sql];

        if(flag) {

            NSLog(@"create table success");

        }

   }

2、新增

 NSString *sql = [NSString stringWithFormat:@"insert into student (name,phone,score) values (?,?,?)"];

 BOOL result = [self.db executeUpdate:sql withArgumentsInArray:@[@"lzt",@"13569874154",@(69)]];

 if(result) {

        NSLog(@"insert ok");

 }

3、修改

NSString *sql = [NSString stringWithFormat:@"update student set name = ?  where  id = ? "];

 BOOL result = [self.db executeUpdate:sql withArgumentsInArray:@[@"lztOK",@(2)]];

    if(result) {

        NSLog(@"update ok");

    }

4、删除

 NSString *sql = [NSString stringWithFormat:@" delete  from student where id = ? "];

    BOOL result = [self.db executeUpdate:sql withArgumentsInArray:@[@(1)]];

    if(result) {

          NSLog(@"delete  ok");

    }

最后,要记得关闭数据库 [db close]

相关文章

  • 2018-07-11 FMDB使用

    之前都是直接用sqlite 的C语言API,感觉也没有什么不好用的,就是封装性不好,不能重用;CoreData也用...

  • iOS开发·FMDB的使用与知识梳理

    一、FMDB的介绍二、FMDB的使用说明三、FMDB的创建和使用方法 一、FMDB的介绍 FMDB是构建在SQLi...

  • iOS FMDB 学习笔记(理论篇)

    TopicList 一.FMDB 简介 二.FMDB 使用说明 三.FMDB 创建及使用方法 四.FMDataba...

  • FMDB 的使用

    FMDB 是对 sqlite 的封装,该文章通过使用 FMDB 对学生数据进行操作,学习记录 FMDB 的使用。1...

  • FMDB常用操作

    FMDB 使用框架 官网地址 https://github.com/ccgus/fmdb 直接拖拽 将 fmdb ...

  • SYCacheManager缓存数据操作

    SYCacheManager使用FMDB、LKDB进行二次封装,缓存数据。 FMDB的基本使用使用FMDataba...

  • FFDB

    FMDB的使用 FMDBDemo 目录 1、FMDB介绍2、FMDB导入3、FMDB框架中重要的框架类3.1、FM...

  • iOS开发--SQLite重要框架FMDB的使用

    iOS开发--SQLite重要框架FMDB的使用 iOS开发--SQLite重要框架FMDB的使用

  • fmdb 的使用

    fmdb 的使用:

  • FMDB的简单使用

    FMDB的下载地址是:https://github.com/ccgus/fmdb工程中使用FMDB,必须导入lib...

网友评论

      本文标题:2018-07-11 FMDB使用

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