+ (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;
}
相关文章
- 10-09cefsharp wpf wpf加载svg 在同一个页面中打开链接
- 10-09python – 当supervisord调用时,Gunicorn会抛出OSError打开文件
- 10-09达梦数据库DM8开启sql日志
- 10-09ETL - 准备数据库
- 10-09SQL优化小讲堂(六)——善待数据库从建表开始
- 10-09oppo手机如何打开开发者选项
- 10-09数据库操作
- 10-09数据库基础
- 10-09数据库----分组函数
- 10-09数据库03