您的位置:首页 > 数据库

SQLite Step Failed: attempt to write a readonly database

2016-05-10 18:16 801 查看
进行数据库操作的时候,有时候会报错

SQLite
Step Failed: attempt to write a readonly database

也就是说你不能对你的bundle进行任何操作了,解决办法是把你的数据库建在Documents下

NSString *path = [self
getFullDatabasePathFromFileName:@"AppData.db"];

_database = [[FMDatabase
alloc] initWithPath:path];

if ([_database
open]) {

[self
creatTable];

}else{

DLog(@"open database:%@",[_database lastErrorMessage]);

}

#pragma mark - 获取数据库文件的全路径

- (NSString *)getFullDatabasePathFromFileName:(NSString *)name{

NSString *path =
NSHomeDirectory();

NSString *docPath = [path
stringByAppendingPathComponent:@"Documents"];

NSFileManager *fm = [NSFileManager
defaultManager];

if ([fm fileExistsAtPath:docPath]) {

return [docPath
stringByAppendingFormat:@"/%@",name];

}else{

DLog(@"Documents不存在");

return nil;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: