sqlite3_open
データベースがまだ存在しない場合はエラーを返します。データベースがまだ存在しない場合にデータベースを作成するには、フラグ とフラグを使用sqlite3_open_v2
します(両方とも必須です)。SQLITE_OPEN_CREATE
SQLITE_OPEN_READWRITE
rc = sqlite3_open_v2(/* DB Path */, &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL);
参照
を見つける/* DB PATH */
には、ファイル名をドキュメントディレクトリに基づいて作成する必要があります。
- (NSString *) applicationDocumentsDirectory
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
return basePath;
}
この便利な方法を使用して、ドキュメントパスをデータベース名と組み合わせることができます。
NSString *documents = [self applicationDocumentsDirectory];
NSString *dbPath = [documents stringByAppendingPathComponent:@"test.db"];
rc = sqlite3_open_v2([dbPath UTF8String], &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL);