2010-10-24 77 views
0

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

- (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

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

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

+0

+1为链接 – 2010-10-24 02:29:14

+0

在该示例中,没有关于要删除的查询的示例。只需插入,更新并创建一个新表。 – 2010-10-24 19:02:37

+0

将您的DELETE传递给executeUpdate,如示例的INSERT和CREATEs。 – 2010-10-24 20:32:18

0

尝试FMDB

下载lib软件包,看看包含的示例文件。