sqlite 打开数据库



+ (sqlite3 * )openDB;
{

    if (db == nil) {
         获取document文件的路径
         参数1: 文件夹名字 参数2 . 查找域 参数3. 是否使用绝对路径
        NSString * docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject ;
         数据库文件的路径
        NSString * dbPath = [docPath stringByAppendingPathComponent:FILE_NAME];
        
        
            iOS 中管理文件的类
         NSFileManager  负责赋值文件, 删除文件 , 移动文件
         
        
        NSFileManager * fm = [NSFileManager defaultManager];
        
         判断document中是否有sqlite文件 , 没有则从app中复制文件到 document
        if (![fm fileExistsAtPath:dbPath]) {
             获取.APP 中 sqlite文件路径
         NSString * bundlePath =   [[NSBundle mainBundle] pathForResource:@"DataBase" ofType:@"sqlite"];
            NSError * error = nil;
             复制
         BOOL result =  [fm copyItemAtPath:bundlePath toPath:dbPath error:&error];
            if (!result) {
                NSLog(@"%@",error);
            }
        }
        
         打开数据库 .  参数1 文件路径 参数2 , 接收数据库的指针
        sqlite3_open([dbPath UTF8String], &db);
        
    }
    
    
    
    return db;
}



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。