我看到很多人问过这个问题,但没有任何解决方案帮助过我。
我正在使用FMDB查询localDB,我没有使用insert或类似的内容,我只是从数据库中读取。
在模拟器上,一切都按预期工作,因为某些原因,iPhone FMDB无法打开数据库。
请注意,DB在以下代码中加载,我可以在调试中看到DB已加载。
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"book"
ofType:@"sqlite"];
self.db = [FMDatabase databaseWithPath:filePath];
当我在下面的代码中查询数据库时,我得到FMResultSet为零,在日志中我可以看到
数据库错误:14“无法打开数据库文件”
数据库查询:来自Book的SELECT *
数据库路径:/var/containers/Bundle/Application/91978CA9-748E-442B-9986-516830235D74/GreatBoox.app/book.sqlite
BOOL isOpen = [self.db open];
if ([self.db hadError]) {
NSLog(@"DB Error %d: %@", [self.db lastErrorCode], [self.db lastErrorMessage]);
}
FMResultSet *f = [self.db executeQuery:@"SELECT * from Book"];
请注意:isOpen = YES,并且“hadError”中的日志不会打印,问题(和日志)会发生在FMResultSet行中。
有人可以解释这个问题吗?
感谢。