问题:您好,我在QT中使用sqlite3数据库。我的架构定义如下:
table users: table wishlist
------------ --------------
id id
balance, int balance, int
savings, int price
uid (users id)
任务是让用户可以在他的余额和储蓄字段之间转账,也可以将钱汇到他的心愿单项目。
例如:用户打开对话窗口,选择货币来源,选择货币扣除,写入金额和提交。提交对话框窗口后,主窗口中的余额将使用新的正确值进行更新。
我的想法:
在我的应用中,我应该可以从(src -> dest)
(users.balance -> users.savings)
(users.savings-> users.balance)
(users.balance -> wishlist.balance)
(users.savings -> wishlist.balance)
(wishlist.balance -> users.savings)
(wishlist.balance -> users.balance)
用户在wishlist
中定义的项目与用户拥有许多愿望清单项目的关系。
我的想法是创建一个包含2列和1个字段的金额的对话框窗口。 2列中的数据应彼此相同。用户点击第一列选择货币来源,第二列选择目的地。
问题: 我应该使用什么(数据和视图模型)来填充来自不同表的列中的数据,并且可以同时修改同一个表(用户)中的余额值或单独(用户和心愿单)并保存到数据库中?是否可以从多个数据源填充视图,以后能够正确保存修改后的值?它甚至是解决这类问题的正确方法,还是我错过了解决这个问题的更好方法?
答案 0 :(得分:0)
我认为你需要的是:
QSqlQueryModel model;
model.setQuery("select users.balance, wishlist.balance ... from users, wishlist ... where .... ");
if (model.lastError().isValid())
qDebug() << model.lastError();
ui->tableView->setModel(model)
//QTableView::setModel
有用吗?