你能发现任何会导致它不起作用的东西吗?
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
int record_to_delete = [[[data objectAtIndex:indexPath.row] recordID] integerValue];
[data removeObjectAtIndex:indexPath.row];
[self.tableView deleteRowsAtIndexPaths:[NSMutableArray arrayWithObject:indexPath] withRowAnimation:YES];
//Delete from TABLENAME where CRITERIA1=VALUE1 (AND CRITERIA2=VALUE2...)
//Delete from Data where RecordID=xxx
sqlite3 *database;
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
NSString *sqlStatement = [NSString stringWithFormat:@"delete from Data where RecordID = %d",record_to_delete];
NSLog(@"Statement is: %@", sqlStatement);
sqlite3_stmt *compiledStatement;
NSLog(@"Statement");
if(sqlite3_prepare_v2(database, [sqlStatement UTF8String], -1, &compiledStatement, NULL) == SQLITE_OK){
}
NSLog(@"Deleting");
sqlite3_finalize(compiledStatement);
NSLog(@"Deleted");
}
sqlite3_close(database);
}
}
SQL 语句在我的数据库软件中执行时工作正常。但是,当在 iPhone 模拟器上运行时,它不会从数据库中删除它。任何帮助将不胜感激。对不起,我不能更具体。
谢谢
2013-03-18 18:45:07.211 Navigation[842:c07] Statement is: delete from Data where RecordID = 1
2013-03-18 18:45:07.212 Navigation[842:c07] Statement
2013-03-18 18:45:07.212 Navigation[842:c07] Deleting
2013-03-18 18:45:07.213 Navigation[842:c07] Deleted
更新:设法让它工作。我只是失踪了。
sqlite3_step(compiledStatement)
不管怎么说,还是要谢谢你。