c – 如何在一个QTableView中显示多个QSqlTableModel的内容?

我有一个MySql表,我们称之为x:

CREATE TABLE x (
    Id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
    A int unsigned NOT NULL,
    B int,
    FOREIGN KEY (A) REFERENCES y(Id)
);

然后我有另一张桌子,我们称之为:

CREATE TABLE y (
    Id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
    First varchar(255),
    Last varchar(255)
);

我想在一个QTableView中显示表x并代替表x中的列A.我想从表y中显示列表中的第一列和最后一行,其中Id等于表x中的A.

你有什么想法?如果我的解释不够明确,请告诉我.

解决方法:

您可以将QSqlQueryModel与sql join查询一起使用:

QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("SELECT x.Id, y.First, y.Last, x.B FROM x "
                "LEFT JOIN y ON x.A = y.Id");

QTableView *view = new QTableView;
view->setModel(model);
view->show();
上一篇:python-可编辑QTableView中的熊猫df:删除复选框


下一篇:前后端分离项目,标准json协议格式参考