2012-04-10 42 views
2

我有一个使用sqlite的应用程序。我从'资源'中读取来自sqlite文件的表格。我试图从另一个源码文件中读取表,但该计划失败,以下错误可能在同一个程序中打开2个sqlite数据库Xcode

for2012-04-10 14:12:14.331 SQL [1804:F803] *终止应用程序由于 未捕获的异常' NSInternalInconsistencyException”,

原因: ': '一个NSBundle (加载)' 名为'RootViewController的'

如果我不读第一sqlite的文件,我也能 不在包中加载NIB阅读本书条件。如果我不读秒,我可以读第一个。但不能一起阅读。

是不是可以在同一个程序中读取两个sqlite文件?

+2

是的,这是可能的,错误说你有你的xib文件的问题。当您加载第二个数据库时是否删除RootViewController.xib? – 2012-04-10 12:32:57

+0

对,这个问题与SQLite无关。问题出在root视图控制器上。 – Costique 2012-04-15 09:18:25

回答

0

是的,你可以在一个项目中使用多个SQLite文件。如果他们在你的文档目录,那么你可以选择作为他们中的任何一个:

NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 

NSString* sqlfilePath = [documentsPath stringByAppendingPathComponent:@"file1.sqlite"]; 

BOOL file1Exists = [[NSFileManager defaultManager] fileExistsAtPath:sqlfilePath]; 

NSString* sqlfilePath = [documentsPath stringByAppendingPathComponent:@"file2.sqlite"]; 

BOOL file2Exists = [[NSFileManager defaultManager] fileExistsAtPath:sqlfilePath]; 


if(file1) 
{ 
    // do necessary operations here 
} 

else if (file2) 
{ 
    // do necessary operations here 
} 

然而,在你的情况,我认为RootViewController是问题的原因,并没有SQLlite文件。

相关问题