首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在QTableView中使用QSqlQueryModel显示多个选择的结果

如何在QTableView中使用QSqlQueryModel显示多个选择的结果
EN

Stack Overflow用户
提问于 2013-08-12 08:06:10
回答 1查看 2.4K关注 0票数 3

我使用以下方法在QTableView中显示select语句的结果。如何修改此代码以在同一个QTableView中显示两个或多个不同select语句的结果

代码语言:javascript
运行
复制
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
QString dbPath = "test1.db";
db.setDatabaseName(dbPath);

QSqlQueryModel *model = new CustomSqlModel();

QSqlQuery* query = new QSqlQuery(db);
query->prepare("SELECT * FROM MyTable");
query->exec();

model->setQuery(*query);
model->setHeaderData(0, Qt::Horizontal, "Col1");
model->setHeaderData(1, Qt::Horizontal, "Col2");
model->setHeaderData(2, Qt::Horizontal, "Col3");

QTableView* tableView = new QTableView();
tableView->setModel(model);

我需要将从另一个数据库test2.db中的同一表中选择的数据附加到tableView中已经显示的数据中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-12 10:16:44

若要将一个查询的结果附加到另一个查询,请使用复合选择语句

代码语言:javascript
运行
复制
SELECT * FROM MyTable
UNION ALL
SELECT * FROM MyOtherTable

这要求子选择具有相同的列数。

如果另一个表位于另一个数据库中,则必须将其附附到第一个数据库:

代码语言:javascript
运行
复制
db.exec("ATTACH '/somewhere/else/test2.db' AS test2");
...
query->prepare("SELECT * FROM MyTable UNION ALL SELECT * FROM test2.MyTable");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18182122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档