IOS开发数据存储篇—libsqlite3和FMDB的基本使用和区别

一、简要介绍

libsqlite3是IOS中纯C语言操作Sqlite数据库的一个库文件。使用起来和OC面向对象的方式有点别扭,不是特别的方便。

FMDB是IOS平台的SQLite数据库框架,以OC的方式封装了SQLite的C语言的API。FMDB使用起来更加的面向对象,省去了很多麻烦、冗余的C语言代码,对比苹果自带的Core Data框架,更加的轻量级和灵活。提供了多线程安全的数据库操作的方法,有效的防止数据混乱。开源地址为https://github.com/ccgus/fmdb

下面我们就对比他们两者的使用,好坏优劣立马就可以分晓。

二、基本使用和对比

2.0、数据库操作对象

C语言方式:

sqlite3 *_db;

FMDB方式:

FMDatabase *db;

2.1、打开数据库

C语言方式:

- (void)openDB{
    //获取数据库文件路径
    NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    NSString *fileName = [doc stringByAppendingPathComponent:@"students.sqlite"];

    //将OC字符串转换为c语言的字符串
    const char *cfileName = fileName.UTF8String;

    //打开数据库文件(如果数据库文件不存在,那么该函数会自动创建数据库文件)
    int result = sqlite3_open(cfileName, &_db);
    if (result == SQLITE_OK) {
  //打开成功
        NSLog(@"成功打开数据库");
    }else{
        NSLog(@"打开数据库失败");
    }
}

FMDB方式:

- (void)openDB{
    //1、获取数据库文件路径
    NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    NSString *fileName = [doc stringByAppendingPathComponent:@"students.sqlite"];

    //2、获取数据库连接
    _db = [FMDatabase databaseWithPath:fileName];

    //3、打开数据库连接
    if ([_db open]) {
        NSLog(@
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值