2010-10-24 3 views
0

Dans UITableView, je souhaite supprimer une ligne et supprimer cette ligne de la base de données, mais ma requête de sqlite ne fonctionne pas.Suppression d'une ligne dans 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]; 
    } 
} 
} 

Pourquoi cela ne fonctionne-t-il pas?
Où puis-je voir un bon tutoriel sur le framework FMDB?

Répondre

2

FMDB est ici: http://github.com/ccgus/fmdb/tree/master/src/

L'échantillon que vous recherchez est également sur cette page; l'échantillon est "fmdb.m".

+0

+1 pour le lien –

+0

Dans l'exemple, aucun exemple de requête à supprimer. Il suffit d'insérer, mettre à jour et créer une nouvelle table. –

+0

Passez votre DELETE à executeUpdate, comme les INSERT et CREATEs de l'exemple. –

0

Essayez FMDB

Télécharger le package lib et jeter un oeil dans le fichier exemple inclus.

Questions connexes