可以在同一程序Xcode中打开2个sqlite数据库

时间:2012-04-10 12:23:55

标签: iphone uiviewcontroller

我有一个使用sqlite的应用。我从'resource'中的sqlite文件中读取表格。我试图从另一个sqlite文件中读取表,但程序失败并出现以下错误

  

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

     

原因:'可以   不在捆绑中加载NIB:'NSBundle   (加载)'名称'RootViewController''

如果我没有阅读第一个sqlite文件,我可以阅读第二个。如果我不读第二个,我可以读第一个。但不能一起阅读。

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

1 个答案:

答案 0 :(得分: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文件。