2011-02-16 110 views
0

我不能更新我的數據庫:我連接到它,然後我用這個功能,但它必須執行,但沒有更新:更新數據庫SQLite的

- (BOOL) updatePoint:(NSString *) word { 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"master.sqlite"]; 
    sqlite3_stmt *statement; 
    if (sqlite3_open([path UTF8String], &database) == SQLITE_OK) { 
     int newPoint = point + 1; 
     NSString *sql = [NSString stringWithFormat:@"UPDATE %@ SET Point='%d' WHERE Parola=?", 
         dictionaries1[[[word substringWithRange:NSMakeRange(0,1)] intValue]-1],newPoint]; 

     if(sqlite3_prepare_v2(database, [sql UTF8String], -1, &statement, NULL)==SQLITE_OK) 
      sqlite3_bind_text(statement,1,[word UTF8String] ,-1, SQLITE_TRANSIENT); 
     sqlite3_step(statement); 

     sqlite3_finalize(statement); 
     //sqlite3_reset(statement); 
     sqlite3_close(database); 
     return YES; 
    } else 
     return NO; 
} 

有什麼不對?

+0

你怎麼知道它是不更新? – Max 2011-02-16 09:00:51

回答

0

你可以看一下這個,上面的更新代碼看起來很好,但唯一可能出現的問題可能是由於數據庫被覆蓋或者它可能不存在於指定位置。 Problem with inserting data into a table

您可以替換爲更新語句插入代碼