0

私はこの問題を抱えています....以下のコードはエラーを生成しませんが、テーブルは変更をコミットしません!すべてのログを制御しました。すべての値は正しく、すべてのテストが正常に行われた場合、データベースの値は変更されません。誰かがアイデアを持っていますか?ありがとう!!

- (void) saveData {
    //database file system
    NSFileManager *fileMgr = [NSFileManager defaultManager];
    NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"enduroRace.sqlite"];
    BOOL success = [fileMgr fileExistsAtPath:dbPath];
    if(!success)
    {
        NSLog(@"unable to load db: '%@'.", dbPath);
    }
    //apro database
    sqlite3 *db;
    if(!(sqlite3_open([dbPath UTF8String], &db) == SQLITE_OK))
    {
        NSLog(@"unable to open DB");
    }
    //inizio query
    sqlite3_stmt    *statement;
    NSString *querySQL = @"UPDATE setting SET delay=?";
    const char *query_stmt = [querySQL UTF8String];
    if (sqlite3_prepare_v2(db, query_stmt, -1, &statement, NULL) == SQLITE_OK) {
        int valoreAttuale = [[sharedClass sharedController] ritardoMusic];
        sqlite3_bind_int(statement, 1,valoreAttuale);
    }
    if (sqlite3_step(statement) != SQLITE_DONE)
    {
        NSLog(@"Error...");
    }
    sqlite3_finalize(statement);
    sqlite3_close(db);

}
4

1 に答える 1

0

私は理解しています.... Sqlite dbを読み取り専用であるだけでなく、今では完璧な「Documents」フォルダーにコピーしました!!! 私に感謝します!!!

于 2012-08-13T17:21:46.363 に答える