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