我正在编写一个带有GUI前端(GTK)和SQLite后端的应用程序。当通过GUI更改某些内容时,我希望更改显示在GUI中,当且仅当它在数据库中成功完成时才会显示。
正在观看sqlite3_step
SQLITE_ERROR
的返回代码是否足以确保我不会向用户提供错误的反馈?
如果没有,是否还有其他步骤,如回调或触发器,可提供额外的可靠性?
有没有办法检测数据库的所有更改,而不仅仅是来自程序自身连接的更改,以便我可以动态地反映GUI中其内容的更改?
答案 0 :(得分:1)
如果我理解正确,你正在做一个修改SQLite数据库中信息的GUI应用程序。
SQLITE_BUSY
; SQLITE_INTERNAL
;等等
检查SQLite documentation。
而不是要求SQLITE_ERROR
你可以做类似的事情: SQLITE_OK
或SQLITE_DONE
取决于您正在做什么。
if (ret != SQLITE_OK || ret != SQLITE_DONE)
//then this is an error.
不知道你用什么语言编码,但我在C here中做了一个SQLite的抽象。你可能会发现它很有趣。
答案 1 :(得分:0)
除了异常处理之外......您应该通过单击“保存”按钮从用户确实提交的数据库中重新选择数据。这样您就可以确定用户看到了正确的数据。