Witam, mam problem, używałem wszędzie QSqlTableModelowe zapytania setTable i select, jednak teraz muszę wykorzystać skomplikowanego SELECTA i nie wiem zbytnio jak to zrobić więc próbowałem tak:
QAbstractItemModel* DbManager::imageTableModel(QString table)
{
if (m_db.isOpen())
{
m_tableModel = new MySqlTableModel(this, m_db);
if (table=="products")
m_tableModel->setTable("products");
if (table=="baseproducts")
m_tableModel->setTable("baseproducts");
if (table=="supplydates")
m_tableModel->setTable("supplydates");
if(table=="terms")
{
QSqlQuery query(m_db);
query.exec("SELECT products.name, products.img, supplydates.Date, supplydates.Package, supplydates.Weight"
"FROM products,supplydates WHERE products.productid=supplydates.productid");
m_tableModel->wywSetQuery(query);
}
m_tableModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
m_tableModel->select();
m_sortingModel =new MySortFilterProxyModel(this);
m_sortingModel->setDynamicSortFilter(true);
m_sortingModel->setSourceModel(m_tableModel);
m_budleDecodedModel = new SqlBlobDecoderModel(this);
m_budleDecodedModel->setSourceModel(m_sortingModel);
m_budleDecodedModel->setImageColumn(TableImageColumn);
}
return m_budleDecodedModel;
}
termsmodel = dbManager->imageTableModel("terms");
ui->tableview_terms->setModel(termsmodel);
Czy mogę tak to wykorzystać (jeśli tak to gdzie zrobiłem błąd bo się nic nie wyświetla). Proszę o pomoc.
//Edit
Po pewnych transformacjach i testach sprawdziłem że problem leży w zapytaniu SELECT.
Takowy SELECT też nie działa:
query.exec("SELECT products.name, supplydates.Date, supplydates.Package, supplydates.Weight"
"FROM products INNER JOIN supplydates ON products.productid = supplydates.productid;");