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

+0

데이터베이스에서 포인트를 추출하기 때문에 (항상 업데이트해야하는 값), 포인트는 항상 2입니다. 대신 처음으로 2, 두 번째로 3, 세 번째로 4..ecc가됩니다. – Andrea

+0

당신은 그 값을 프로그램 적으로 또는 터미널을 사용하여 수동으로 얻는가? – Max

답변

0

위의 업데이트 코드는 괜찮아 보이지만 데이터베이스를 덮어 쓰거나 지정된 위치에 없을 수도있는 유일한 문제 일 수 있습니다. Problem with inserting data into a table

당신은