Qt Sqlite 用户访问
我正在使用 sqlite 和 qt。我知道 sqlite 没有本机用户访问控制,并且对此很满意,并且有一个使用我的应用程序控制访问的计划 - 在数据库中设置一些用户组并在应用程序端进行身份验证。
我想知道是否有一种简单的方法可以阻止我对 QSqlRelationalTableModel 数据的视图更新数据库(即使数据库只读)。
我目前正在使用 OnFieldChange
的编辑策略,如果我将其更改为 OnManualSubmit
(不实现提交调用),是否会阻止对 dB 的更新?
有更聪明的方法吗?喜欢将视图设置为只读吗?
I'm working with sqlite and qt. I understand that sqlite doesn't have native user access control and am fine with that, and have a plan for controlling access using my application - set up some user groups in a db and authenticate on the app side.
What I would like to know is if there is an easy way to stop my views on QSqlRelationalTableModel
data from updating the database (i.e make the database readonly).
I am currently using an editstrategy of OnFieldChange
, if I change it to OnManualSubmit
for example (without implementing a submit call), will that prevent updates to the dB?
Is there a cleverer way of doing this? Like making the view readonly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您创建视图,那么它们将是只读的,因为 sqlite 不支持更新视图:
http://www.sqlite.org/lang_createview.html
编辑
根据您的评论,您正在寻找 QSQLITE_OPEN_READONLY 连接设置吗?
http://doc.trolltech.com/4.6/qsqldatabase.html#setConnectOptions
If you create views, then they will be read-only since sqlite doesn't support updating views:
http://www.sqlite.org/lang_createview.html
EDIT
Following-up on your comment, is the QSQLITE_OPEN_READONLY connection setting what you are looking for?
http://doc.trolltech.com/4.6/qsqldatabase.html#setConnectOptions