Обеспечение надежной обратной связи с пользователем с SQLite - PullRequest
0 голосов
/ 18 июня 2009

Я пишу приложение с интерфейсом GUI (GTK) и SQLite. Когда что-то изменяется через графический интерфейс, я хочу, чтобы изменение отображалось в графическом интерфейсе, если и только если оно успешно выполнено в БД.

  • Достаточно ли просмотра кода возврата от sqlite3_step для SQLITE_ERROR, чтобы я не дал ложную обратную связь пользователю?

  • Если нет, есть ли другие шаги, такие как обратные вызовы или триггеры, которые обеспечили бы дополнительную надежность?

  • Есть ли способ обнаружить ВСЕ изменения в базе данных, а не только изменения из собственного соединения программы, чтобы я мог динамически отражать изменения ее содержимого в графическом интерфейсе?

Ответы [ 2 ]

1 голос
/ 18 июня 2009

Если я правильно понимаю, вы делаете приложение с графическим интерфейсом, которое изменяет информацию в базе данных SQLite.

  • Не совсем, вы можете получить SQLITE_BUSY, если у вас есть темы; SQLITE_INTERNAL; и т.п. Проверьте документация SQLite . Вместо запроса SQLITE_ERROR вы можете сделать что-то вроде:

SQLITE_OK или SQLITE_DONE в зависимости от того, что вы делаете.

if (ret != SQLITE_OK || ret != SQLITE_DONE)
    //then this is an error.
  • Не знаю, на каком языке вы кодируете, но я сделал абстракцию SQLite в C здесь . Вы можете найти это интересным.

  • Использование sqlite3_trace ()

0 голосов
/ 18 июня 2009

Помимо обработки исключений ... Вы должны повторно выбрать данные из БД, которые пользователь зафиксировал, нажав кнопку Сохранить. Таким образом, вы точно знаете, что пользователь видит правильные данные.

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