代码实现打开和关闭数据库

+ (sqlite3 *)openDB
{
    if (db == nil) {
        //获取Document文件的路径
        //参数1:文件夹名字 参数2:查找域 参数3:是否使用绝对路径
        NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
        //(2)数据库文件的路径
        NSString *dbPath = [docPath stringByAppendingPathComponent:FILE_NAME];
        //ios 中管理文件的类,负责复制文件,删除文件,移动文件(和文件有关的操作)
        NSFileManager *fm = [NSFileManager defaultManager];
        
        //判断document中是否有sqlite文件
        if (![fm fileExistsAtPath:dbPath])
        {
            //*.app中sqlite文件的路径;
            NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"DataBase" ofType:@"sqlite"];
            NSError *error = nil;
            //拷贝bundlePath到dbPath
          BOOL result =  [fm copyItemAtPath:bundlePath toPath:dbPath error:&error];
            if (!result) {
                NSLog(@"%@",error);//如果发生错误打印错误信息;
            }
        }
        //打开数据库
        //参数1:文件路径; 参数2:接收数据库的指针
        sqlite3_open([dbPath UTF8String], &db);
    }
    return db;
}
+ (void)closeDB
{
    sqlite3_close(db);
    db = nil;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值