2011-08-16 19 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

データベースからのデータが削除されていないか、またはテーブルビューからのデータが削除されていないことですか?データベースを確認して確認してください(コマンドラインまたはsqliteマネージャから)。

ここでコードに間違いがあります。 1)NSStringをsqlite3に渡さないでください。このようにしてくださいconst char *query = [queryStr UTF8String]; 2)sqliteステートメントを終了/コミットしていることを確認してください。

sqlite3_finalize(stmt) 

さらに、sqliteデータベースを閉じます。

+0

こんにちは、データベースのデータは削除されません。テーブルビューでのみ削除されます。ありがとうございました。 – Kunal

+0

xを印刷する価値を教えてくれますか?また、渡す必要はありません。クエリと一緒に –

+0

こんにちはアニル、私はx = 0を得ています – Kunal

関連する問題