0

我正在编写一个带有 GUI 前端 (GTK) 和 SQLite 后端的应用程序。当通过 GUI 更改某些内容时,当且仅当它在数据库中成功完成时,我希望更改显示在 GUI 中。

  • 是否sqlite3_step足以SQLITE_ERROR确保我不会向用户提供错误反馈?

  • 如果没有,是否有其他步骤(例如回调或触发器)可以提供额外的可靠性?

  • 有什么方法可以检测到对数据库的所有更改,而不仅仅是来自程序自身连接的更改,以便我可以动态地在 GUI 中反映对其内容的更改?

4

2 回答 2

1

如果我理解正确,您正在做一个 GUI 应用程序来修改 SQLite 数据库中的信息。

  • 不是真的,SQLITE_BUSY如果你有线程,你可能会得到;SQLITE_INTERNAL; 等检查SQLite 文档。而不是要求SQLITE_ERROR你可以做类似的事情:

SQLITE_OK或者SQLITE_DONE取决于你在做什么。

if (ret != SQLITE_OK || ret != SQLITE_DONE)
    //then this is an error.
  • 不知道你用什么语言编码,但我在这里用 C 语言做了一个 SQLite 的抽象。你可能会觉得很有趣。

  • 使用sqlite3_trace()

于 2009-06-18T07:42:40.877 回答
0

除了异常处理...您应该通过单击保存按钮从用户提交的数据库中重新选择数据。这样您就可以确定用户看到了正确的数据。

于 2009-06-18T07:51:02.090 回答