0
我在QSqlTableModel::OnManualSubmit
模式下顯示QSqlTableModel。如何查詢本地QSqlQueryModel?
我想在我的本地副本上運行SQL樣式查詢,例如我有一個getMax
函數隨着添加新行而發生變化。如果我的用戶在交互過程中在本地更改QSqlTableModel
,我希望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();
}
如何在本地模型副本上運行查詢?
你是什麼意思的「本地複製」?什麼的副本? – Googie
@Googie我的意思是生活在我的模型中的遠程SQL數據的副本,而不是在我的服務器上的SQL數據庫中聯機。當我提交我的模型時,這兩個將同步。 – Mikhail
QSqlTableModel實現QAbstractItemModel,因此它提供了訪問數據的標準API,主要是使用QAbstractItemModel :: data()。 QSqlTableModel將SQL查詢委託給QSqlQuery。您不能直接在QSqlQueryModel上執行SQL查詢,因爲它不是SQL解釋器。 – Googie