Обновление базы данных SQLite в C ++ - PullRequest
0 голосов
/ 17 ноября 2011

У меня есть приложение, в котором я показываю данные из базы данных.Фактически мы можем сказать, что это редактор базы данных.

Теперь я хочу выполнить команду обновления / удаления для этой открытой базы данных.Используя следующие команды, база данных открывается успешно.

int nRet = sqlite3_open(szFile, &mpDB);

Из C # (.net api) Я могу обновить данные из базы данных

dbCmd5 = New SQLiteCommand(
        "update Tbl_Tmp_Cal_Res Load_Time=5  WHERE Part_Index= 5", g_dbFlow);
dbCmd5.ExecuteNonQuery()

Но из C ++ я получаю ошибку5 (база данных заблокирована)

код C ++

int nRet = sqlite3_open(szFile, &mpDB);//database opened successfully.
sqlite3_exec(mpDB, "UPDATE query", 0, 0, &szError);//Error for this statement

Многопоточность в приложении не используется.

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

Используется ли база данных из другого места в коде?Поскольку очевидно, что что-то еще заблокировало базу данных, я предполагаю, что вы используете базу данных из другого места в коде и забыли вызвать sqlite3_finalize для оператора select или чего-то подобного.

0 голосов
/ 17 ноября 2011

возможно вы забыли шаг аутентификации (имя пользователя / пароль и т. Д.)

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