博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码实现打开和关闭数据库
阅读量:6321 次
发布时间:2019-06-22

本文共 865 字,大约阅读时间需要 2 分钟。

+ (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;
}

转载地址:http://szcaa.baihongyu.com/

你可能感兴趣的文章
idea创建maven-archetype-webapp项目无java目录
查看>>
《 Oracle查询优化改写 技巧与案例 》电子工业出版社
查看>>
关系型数据库种类
查看>>
ajax回调函数中使用$(this)取不到对象的解决方法
查看>>
java实现折半排序算法
查看>>
1024程序员节,向改变世界的程序员致敬
查看>>
还在呼吸致命空气?专业的斐讯空气检测仪,让你生活更健康!
查看>>
每月亿行代码、全球数万研发,落地DevOps的协同平台DevCloud
查看>>
一朝创业,十年奋战,和信VENGD 4.0让终端不再是难题!
查看>>
蚂蚁金服董事长说以后出国只要三句话:你好,谢谢,支付宝
查看>>
GO语言用户调查:更多程序员选择在工作中使用该语言!
查看>>
Apache RocketMQ 顶级项目之路
查看>>
江苏沭阳持续推进“厕所革命” 乡村换新颜
查看>>
湖北襄阳:公交车全部加装驾驶区安防隔离门
查看>>
报告:上市公司环境信息披露总体水平略有上升
查看>>
新疆库尔勒越冬水禽种类逐年增加已达10种
查看>>
墨西哥输油管爆炸致71死:现场冒火球 偷油者伤亡惨重
查看>>
只有程序员才能看懂的10个段子,第一个就笑喷了!
查看>>
创新还是真的丑?苹果这个设备等了三年终于更新
查看>>
Elasticsearch就这么简单
查看>>