Как обработать ошибку sqlite3_exec в C при удалении базы данных? - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь очистить базу данных после печати записей из базы данных. Но при очистке базы данных несколько раз sqlite3_exec выдает ошибку, из-за которой база данных не очищается.Я хотел бы знать, как обрабатывать подобные сценарии.

Когда при очистке базы данных возникает какая-либо ошибка, я повторяю попытку очистки базы данных еще раз.Это один из вариантов.Я ищу любую другую опцию, которую я могу использовать для своей логики.

errstr = 0;
rc = sqlite3_exec(test_db, "DELETE FROM EMP_TABLE WHERE id = 2", 0, 0, &errstr);

if (rc != SQLITE_OK) {
    printf("removing record  Fails %s\n", errstr);
    sqlite3_free(errstr);
}

errstr = 0;
rc = sqlite3_exec(test_db, "VACUUM;", 0, 0, &errstr);
if (rc != SQLITE_OK) {
   printf("vacuum Fails: %s\n", errstr);
   sqlite3_free(errstr);
}

Всякий раз, когда происходит сбой sqlite3_exec, как мне повторить попытку очистки базы данных оптимизированным способом вместо повторного вызова того же sqlite3_exec.

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