Portál AbcLinuxu, 9. května 2025 05:49

Dotaz: QT - MySQL

4.3.2011 17:00 jirka36 | skóre: 2
QT - MySQL
Přečteno: 468×
Odpovědět | Admin
Příloha:

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:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.3.2011 21:25 jirka36 | skóre: 2
Rozbalit Rozbalit vše Re: QT - MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin
SOLVED
5.3.2011 19:50 majun | skóre: 1 | Plzeň
Rozbalit Rozbalit vše Re: QT - MySQL
A jakpak? Diky
Řešení 1× (majun)
5.3.2011 21:37 jirka36 | skóre: 2
Rozbalit Rozbalit vše Re: QT - MySQL
no nejprve se musí provést select() a pak až setModel(), což vykresli tu tabulku.

Momentálně řeším další problém. Chci pomocí comboboxu filtrovat záznamy pomocí nějakého selectu a nevím jak na to. Například zobrazit ze seznamu osob pouze ženy

Našel jsem funkční řešení pokud bych vytvořil objekt QSqlQueryModel, protože ten obsahuje metodu setQuery(), přes kterou se to krásně zobrazí do tabulky, ale jak to udělat pomocí objektu QSqlRelationTableModel jsem nikde nenašel. Nevěděl by někdo jak na to?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.