проблема удаления sqlite на iPhone - PullRequest
3 голосов
/ 22 июня 2009

В моем приложении для iPhone я пытаюсь удалить строку из базы данных SQLite.После выполнения оператора delete кажется, что строка удалена правильно, но после перезапуска приложения строка все еще там.Я использую кодовый удар, чтобы удалить запись.Есть идеи, в чем может быть проблема?

NSString *deleteSQL = [NSString stringWithFormat:@"DELETE FROM table1 WHERE actId=%d", actId];

char *errorMsg;

if (database == nil) {
    NSLog(@"ERROR db not initialized but trying to delete record!!!");
}else{
    if (sqlite3_exec(database, [deleteSQL UTF8String], NULL, NULL, &errorMsg) != SQLITE_OK){
        NSAssert1(0, @"Error updating tables: %s", errorMsg);
        sqlite3_free(errorMsg);
        return NO;
    }   
}

NSLog([NSString stringWithFormat:@"DELETE Successful"]);

1 Ответ

3 голосов
/ 24 июня 2009

Я решил эту проблему. Хотя я не совсем понимаю все детали. Проблема в том, что в моем «коде загрузки» я забыл вызвать sqlite3_finalize для операторов. Не уверен, почему, но это как-то повлияло на будущие вставки и удаления. Добавление sqlite3_finalize к методу загрузки данных решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...