2
私はいくつかのデータをSQLiteデータベースに保存するMacアプリケーションを作成しています。問題は、データベースを閉じてもう一度開くと、データがそこにないことです。ここに私のコードは次のとおりです。SQLite3:データベースが保存されていません
NSString *sql = [NSString stringWithFormat:@"INSERT INTO people(name, artist, id, album, location, cover) VALUES('%@', '%@', %d, '%@', '%@', '%@');", name, artist, ID, album, path, cover];
sqlite3 *database = NULL;
sqlite3_open([[[NSBundle mainBundle] pathForResource:@"db" ofType:@"database"]
cStringUsingEncoding:NSUTF8StringEncoding], &database);
sqlite3_stmt *statement;
sqlite3_prepare_v2(database, "CREATE TABLE IF NOT EXISTS people(name TEXT, id INT, artist TEXT, album TEXT, cover TEXT, location TEXT);", -1, &statement, NULL);
sqlite3_step(statement);
sqlite3_finalize(statement);
sqlite3_prepare_v2(database, [sql cStringUsingEncoding:NSUTF8StringEncoding], -1, &statement, NULL);
sqlite3_step(statement);
sqlite3_finalize(statement);
statement = NULL;
sqlite3_close(database);
何そこにいくつかのエラー処理を置くことについて?これらの関数呼び出しをチェックしているわけではなく、ほとんどすべてが失敗する可能性があります。 – Mat
また、データベースをアプリケーションバンドルに保存してもよろしいですか?それはお勧めの場所ではありません。 –
私は小切手をして、すべてうまく動作しているようです。また、Application Supportディレクトリに新しいデータベースを作成したときに、そのデータベースにデータを保存できたことに気付きました。しかし、私は再びそれを開いたとき、私はそれにすべてのデータを保存することができませんでした:( –