zoukankan      html  css  js  c++  java
  • 代码实现打开和关闭数据库

    + (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;
    }
  • 相关阅读:
    Knowing how all your components work together: distributed tracing with Zipkin
    Java Annotation Processors
    深度剖析JDK动态代理机制
    Java 代理模式(二) Java中的动态代理
    Java 代理模式(一) 静态代理
    CGLib动态代理原理及实现
    Understanding sun.misc.Unsafe
    Finding Memory Leaks with SAP Memory Analyzer
    ubuntu18.04 安装mysql server
    Sqoop+mysql+Hive+ Ozzie数据仓库案例
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5114297.html
Copyright © 2011-2022 走看看