База данных заблокирована при попытке вставить значения в таблицу? - PullRequest
1 голос
/ 25 марта 2011

Я создаю базу данных для своего приложения.Я успешно могу создать таблицу, также могу вставить значение в эту таблицу.После того, как я закрываю свое приложение, снова, когда я запускаю приложение и пытаюсь вставить в него новые значения, оно выдает errorString как «База данных заблокирована».Вот мой код

if (sqlite3_open ([путь UTF8String] и база данных) == SQLITE_OK)
{
sqlStmt = [[NSString stringWithFormat: @ "Вставить в значения ePubTable ('% @ '); ", ePubTitle] cStringUsingEncoding: NSUTF8StringEncoding];

int retVal = sqlite3_exec (база данных, sqlStmt, NULL, NULL, & errString);
if (retVal == 0) * 1009printf («Данные вставлены»);
}

sqlite3_close (база данных);

Я не могу понять, почему заблокирована база данных, где я делаю ошибку.
Пожалуйста, помогите мне с этим.Спасибо заранее.

Ответы [ 2 ]

6 голосов
/ 29 марта 2011

Я получил правильное решение для этой заблокированной ошибки базы данных.Всякий раз, когда мы обновляем или выбираем какое-либо значение из базы данных, нам нужно завершить оператор перед закрытием базы данных, иначе она заблокировала вашу базу данных.Синтаксис выглядит следующим образом:

sqlite3_finalize (оператор);

Ниже ссылка мне очень помогает http://iphoneramble.blogspot.com/2009/07/sqlite-and-database-is-locked.html

0 голосов
/ 25 марта 2011

база данных должна быть скопирована из основного пакета в папку документов для записи или база данных настроена только для чтения

извините, плохой английский, я итальянец

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