2012-04-10 13 views
2

私はsqliteを使用するアプリケーションを持っています。私は 'リソース'にあるsqliteファイルからテーブルを読み込みます。 「原因 キャッチされない例外にアプリを終了*私は別のsqliteファイルからテーブルを読み込もうとしましたが、プログラムは次のエラー同じプログラムで2つのsqliteデータベースを開くことが可能です。Xcode

for2012-04-10 14で失敗しました:12:14.331 SQL [F803 1804] NSInternalInconsistencyException」、

理由: ': 'NSBundle (ロード)' 名前 'RootViewController''

私は最初のsqliteファイルを読んでいない場合は、私ができると バンドルにNIBをロードできませんでした。 seを読んでcond。もし私が2番目を読んでいなければ、私は最初のものを読むことができます。しかし、一緒に読むことはできません。

同じプログラム内に2つのsqliteファイルを読み込むことはできませんか?

+2

はい、エラーはxibファイルに問題があると言う可能性があります。 2番目のデータベースをロードするときにRootViewController.xibを削除していますか? –

+0

質問はSQLiteとは関係ありません。問題は、ルートビューコントローラにあります。 – Costique

答えて

0

はい、プロジェクト内で複数のSQLiteファイルを使用できます。彼らはあなたのドキュメントディレクトリにある場合、あなたは、それらのいずれか1つを選択することができる:

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ファイルだと思います。

関連する問題