2011-08-16 9 views
0

데이터베이스의 데이터가 삭제되지 않아서 오류를 지적 할 수 있으면 감사하게 생각합니다.테이블보기 sqlite 데이터가 삭제되지 않음 - iOS - iPad 응용 프로그램

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
NSUInteger row = [indexPath row]; 

    //Delete 
    sqlite3_stmt *stmt2; 
    NSArray *del = [[arr objectAtIndex:row] componentsSeparatedByString:@" "]; 
    NSString *update1 = [NSString stringWithFormat:@"delete from survey where name='%@' and surname='%@';",[del objectAtIndex:1],[del objectAtIndex:2]]; 
    int x = sqlite3_prepare_v2(database, [update1 UTF8String], -1, &stmt2, nil); 
    NSLog(@"x=%d",x); 
    if (sqlite3_step(stmt2) != SQLITE_DONE) 
     NSLog(@"Deletion Error."); 

    [arr removeObjectAtIndex:row]; 
    [tblView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
} 

감사합니다.

답변

0

삭제되지 않은 데이터베이스의 데이터 또는 삭제되지 않은 tableview의 데이터입니다. 명령 줄 또는 sqlite 관리자에서 데이터베이스를 확인하여 확인하십시오.

여기에는 코드에서 발생할 수있는 실수가 있습니다. 1) NSString을 sqlite3에 전달하지 말고 다음과 같이 전달하십시오. const char *query = [queryStr UTF8String]; 2) sqlite 문을 마무리/커밋해야합니다.

sqlite3_finalize(stmt) 

또한 sqlite 데이터베이스를 닫습니다.

+0

안녕하세요, 데이터베이스의 데이터가 삭제되지 않고 테이블보기에서만 삭제됩니다. 고맙습니다. – Kunal

+0

인쇄 할 x 값을 알려주시겠습니까? 또한 통과 할 필요가 없습니다. 쿼리와 함께 –

+0

안녕하세요, x = 0을 얻고 있습니다 – Kunal

관련 문제