我在QSqlTableModel::OnManualSubmit模式下显示一个QSqlTableModel::OnManualSubmit。
我希望在本地副本上运行SQL样式查询,例如,我有一个getMax函数,在添加新行时会发生更改。如果我的用户在交互过程中在本地更改了QSqlTableModel,我希望getMax产生不同的输入,但是getMax函数将远程查询数据,结果总是与用户所做的任何更改无关。
int TestMe::getMax(QString col,QString table)
{
QSqlQuery query;
sf(query.exec("SELECT MAX("+col+") FROM "+table));
sf(query.first());
auto rec = query.record();
return rec.field(0).value().toInt();
}如何在模型的本地副本上运行查询?
发布于 2014-01-28 13:49:40
QSqlTableModel (或更一般的QSqlQueryModel)将查询执行委托给QSqlQuery。当收到来自查询的结果时,它们以包含行和列的表的形式在内部存储,您可以使用QModelIndex和QAbstractItemModel::data()访问它们。
QSqlTableModel本身不是SQL解释器。不用谢。它没有为你提供任何分析例程。这不是这门课的目的。如果您需要分析模型中的数据,您必须自己编写。
https://stackoverflow.com/questions/21372520
复制相似问题