Я загрузил некоторые данные в своем табличном представлении с использованием базы данных SQLite в формате 1) некоторое значение, 2) некоторое значение и так далее. 1 и 2 являются первичным ключом, это мой код для удаления, который я поставил на прикосновении на функции удаления представления таблицыДанные, которые не удаляются из базы данных с помощью SQLite
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
[self openDB];
NSString *idofTable = [NSString new];
NSScanner *scanner = [[NSScanner alloc] initWithString:[self.tableLogView cellForRowAtIndexPath:indexPath].textLabel.text];
[scanner scanUpToString:@")" intoString:&idofTable];
NSLog(@"id=%@, text=%@", idofTable, [self.tableLogView cellForRowAtIndexPath:indexPath].textLabel.text);
if(editingStyle==UITableViewCellEditingStyleDelete)
{
char *error;
NSString *sql = [NSString stringWithFormat:@"DELETE FROM History WHERE 'id' = '%@'", idofTable];
NSLog(@"%@",sql);
if(sqlite3_exec(db, [sql UTF8String], NULL, NULL,&error)!=SQLITE_OK)
{
sqlite3_close(db);
NSAssert(0,@"Could not create table");
}
else
{
NSLog(@"Data Deleted");
sqlite3_exec(db, "COMMIT", NULL, NULL, &error);
}
}
[tableLogView reloadData];
}
Журнал «Data Deleted» печатается, но данные не получает удалены в базе данных ни в таблице. Любая помощь оценивается. Я не знаю, где происходит ошибка, запрос кажется правильным.
Пожалуйста, разместите здесь журнал статусов sql. Правильно ли ID? –
Как вы можете сказать, что данные не удалены, перезагрузив таблицу? вы уверены, что значения для tableview были обновлены? – NAZIK
, вы также должны удалить запись из массива данных таблицы, чтобы обновить представление таблицы. – iNeal