删除SQLite 3中的行

时间:2010-10-24 01:07:55

标签: iphone sqlite ios4 fmdb

UITableView中,我想删除一行并删除数据库中的那行,但我的sqlite查询不起作用。

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
    UIAlertView *view;

    sqlite3 *database;
    int result = sqlite3_open("/quickdatabase.sqlite", &database);
    if(result != SQLITE_OK) {
        sqlite3_close(database);
        view = [[UIAlertView alloc] initWithTitle:@"Database Error" message:@"Falha ao carregar o banco de dados.." delegate:self cancelButtonTitle:@"Cancelar" otherButtonTitles:nil];
        [view show];
        [view release];
        return;
    } else {
        NSString *query = [NSString stringWithFormat:@"DELETE FROM Enquetes WHERE Pergunta = '%@' AND Nome = '%@'", [arraySQL objectAtIndex:indexPath.row], [arrayAsk objectAtIndex:indexPath.row]];
        sqlite3_exec(database, [query UTF8String], NULL, NULL, NULL);
        sqlite3_close(database);

        view = [[UIAlertView alloc] initWithTitle:@"ArrayAsk" message:[arrayAsk objectAtIndex:indexPath.row] delegate:nil cancelButtonTitle:@"Cancelar" otherButtonTitles:nil];
        [view show];
        [view release];

        view = [[UIAlertView alloc] initWithTitle:@"ArraySQL" message:[arraySQL objectAtIndex:indexPath.row] delegate:nil cancelButtonTitle:@"Cancelar" otherButtonTitles:nil];
        [view show];
        [view release];

        [arrayAsk removeObjectAtIndex:indexPath.row];
        [arraySQL removeObjectAtIndex:indexPath.row];
        [tableView reloadData];
    }
}   
}

为什么这不起作用?
我在哪里可以看到一个很好的FMDB框架教程?

2 个答案:

答案 0 :(得分:2)

FMDB在这里:http://github.com/ccgus/fmdb/tree/master/src/

您正在寻找的样本也在该页面上;样本是“fmdb.m”。

答案 1 :(得分:0)

尝试FMDB

下载lib包并查看包含的示例文件。