Вопрос об очистке базы данных SQLite - PullRequest
0 голосов
/ 26 декабря 2010

Я пытаюсь обновить данные в моей базе данных SQLite на iPhone. Я хотел бы удалить и воссоздать таблицу (она не большая) или просто обрезать ее, но я не могу этого сделать

Бег

char *errorMsg;
    NSString *truncSQL = @"TRUNCATE TABLE GAMES;";
    if (sqlite3_exec(database, [truncSQL UTF8String], NULL, NULL, &errorMsg) != SQLITE_OK){
        NSLog(@"Error: %s", errorMsg);
        NSLog(truncSQL);
    }

дает мне базу данных заблокирована ошибка. Не должно быть никаких активных чтений или чего-либо из базы данных. Как мне заставить это сделать?

Спасибо!

Ответы [ 2 ]

1 голос
/ 26 декабря 2010

Иногда старые версии SQLite выдают ошибку «база данных заблокирована», если файл [DATABASE].journal существует. Если вы уверены , что к базе данных нет доступа, попробуйте удалить этот файл.

0 голосов
/ 26 декабря 2010

Упс, это было глупо.

Разобрался!

Случайно пропустил sqlite3_finalize ();заявление где-то!

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