FMDB无法打开数据库文件(仅限iphone)

时间:2016-06-17 14:32:59

标签: ios objective-c database sqlite fmdb

我看到很多人问过这个问题,但没有任何解决方案帮助过我。

我正在使用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行中。

有人可以解释这个问题吗?

感谢。

0 个答案:

没有答案