2011-02-16 111 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

您可以替换为更新语句插入代码