Portál AbcLinuxu, 9. května 2025 05:49
zdravím, píšu menší aplikaci v QT s použitím databáze a zadrhl jsem se v zobrazení dat. Mám vytvořenou databázi na localhostu a pomocí Qt se k ní připojím. Pak chci vypsat data z jedné tabulky pomocí třídy QSqlRelationalTableModel a to se mi nedaří. Pouze se mi zobrazí prázdné řádky, které jsou očíslovány a tento počet souhlasí přesně s počtem vložených řádků v databází, takže když smažu v databázi jeden záznam tak se i počet řádků v aplikaci o jeden sníží. Je tedy vidět, že v připojení chyba není. Něvěděl by někdo co s tím?
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("pokus");
db.setUserName("root");
db.setPassword("heslo");
if (!db.open()) {
QMessageBox::warning(this, tr("Connection Error"), tr("Cannot open DB file"));
return;
}
m_mainModel = new QSqlRelationalTableModel(this);
m_mainModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
ui->tableView->setModel(m_mainModel);
m_mainModel->setTable("SPORTOVEC");
if (!m_mainModel->select()){
QMessageBox::warning(this, tr("Select Error"),
m_mainModel->lastError().databaseText());
return;
}
Řešení dotazu:
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.