2011-06-30 20 views
0

xCodeでの作業すべてが正常に動作します。作業ディレクトリでプロジェクトをダブルクリックして実行しますが、xCode自体はビルドと実行を実行しません。データベースが正しく見つからない。sqlite3_openの作業ディレクトリを指定する方法

は、どのように私はそれが現在の作業ディレクトリにAirports.sqliteを見つけることができます...

sqlite3_open("Airports.sqlite", &db); 

を変更するのですか?

答えて

0

は、アプリケーションのディレクトリにデータベースをコピーし、その後、あなたのデータベースを使用することができます:)

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES); 
     NSString *dbPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Airports.sqlite"]; 

BOOL success = [fileManager fileExistsAtPath:dbPath]; 

if (!succes){ 

    NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Airports.sqlite"]; 
       BOOL success = [fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error]; 

       if (!success) 
        NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]); 
       else 
        NSLog(@"Succesfully created writable database"); 
} 
+0

感謝を。 **本当に申し訳ありません**しかし、私はAnsi Cでこれをどうやって行いますか? Obj CとThe Foundationsを使う前に、私は自分自身をブートストラップし、基礎から始めます。手動でコピー&ペーストを試しましたが、うまくいかないようです。 – MonkeyBusiness

+0

@MonkeyBusiness okey .. Ansi Cでこれを行う方法がわかりません。PHPの後でObj Cを使い始めました。 – AltinkOnline

+0

成功元のSQLiteファイルを作業ディレクターに移動したり、コードを取得したりすることはできませんでしたので、ファイルの名前を変更して、やり直しました。コーディングは、すべてのxCodeのハイレベルな「支援」を克服することに比べて簡単です。 – MonkeyBusiness

関連する問題