abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | Komunita

    Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za srpen 2026. Aplikace XApp mají vlastní webovou stránku xapp-project.org. Představena byl čtečka EPUB s názvem Xepub a kalendář Clockenstein.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | Nová verze

    Byla vydána nová verze 3.2.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:33 | Nová verze

    Bylo vydáno Ubuntu 24.04.5 LTS, tj. páté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Komunita

    Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.

    Ladislav Hagara | Komentářů: 9
    dnes 04:22 | Komunita

    V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Nová verze

    Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Pozvánky

    Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.

    Petr Krčmář | Komentářů: 0
    včera 11:00 | Nová verze

    Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Nová verze

    Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2642 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: QT+SQL+C++

    7.11.2009 20:01 Jirka
    QT+SQL+C++
    Přečteno: 690×
    Ahoj, mám problém, snažím se pracovat v QT s DB. Mějme 2 tabulky:

    firma{ nazev; id; }

    zamestnanec { jmeno; prijmeni; podrobnosti; firma; }

    Chci namapovat firmu na combobox čímž, se mi v druhém komboboxu vyberou zaměsnanci té dané firmy. Výberem zaměstnance z druhého comboboxu se mi o něm zobrazí podrobnosti. Pokoušel jsem se to dělat pomocí QSqlRelationalTableModel a mapperů. Ale zatím se mi to nepovedlo. Mohl by mě prosím někdo nasměrovat?

    Odpovědi

    7.11.2009 22:10 Roman Došek | skóre: 17 | blog: flare
    Rozbalit Rozbalit vše Re: QT+SQL+C++
    Nejdřív si vytvoříš nějakou funkci, která ti při zobrazení dialogu naplní první combobox, něco jako:
    void Dialog::NacteniFirem()
    {
        QSqlQuery query("SELECT nazev FROM firma");
        while( query.next()) {
            ui->combobox->addItem(query.value(0).toString(),query.value(0));
        }
        query.finish();
    }
    
    Potom si vytvoříš pro 1. combobox funkci pro signál currentIndexChanged, ve kterém vyčistíš obsah 2. comboboxu a načteš do něj 2.SQL dotazem seznam zaměstanců.
    void MainWindow::on_combobox_currentIndexChanged(QString Text)
    {
        ui->combobox2->clear();
            QSqlQuery query;
            query.prepare("SELECT id,jmeno,prijmeni FROM zamestnanci WHERE firma = ?");
            query.bindValue(0, ui->combobox->currentText());
            query.exec();
            while( query.next()) {
                ui->combobox2->addItem(query.value(0).toString(),query.value(0));
            }
            query.finish();
    }
    
    Snad jsem nenapsal nějakej blud, už jsem v Qt chvilku nic nedělal. Kdyžtak sem hoď nějakej kód co už máš, na tom bych ti měl být schopen lépe pomoci. Jinak doporučuju používat Qt Creator :)
    8.11.2009 10:51 Jirka
    Rozbalit Rozbalit vše Re: QT+SQL+C++
    Tvůj způsob je mi jasný, takto jsem to, ale chtěl dělat pouze v případě, že by to nešlo způsobem, který jsem naznačil níže.
    8.11.2009 10:49 Jirka
    Rozbalit Rozbalit vše Re: QT+SQL+C++
    Jak jsem to zatím dělal já:
    	model = new QSqlRelationalTableModel(this);
    	model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    	model->setTable("firma");
    	
    	typeIndex = model->fieldIndex("id_adresa");
    	
    	model->setRelation(typeIndex, QSqlRelation("adresa", "id_adresa", "ulice"));
    	model->select();
    	
    	ui.comboBoxFirmaNazev->setModel(model);	//Mapovani sloupcu tabulek na bunky GUI
    	ui.comboBoxFirmaNazev->setModelColumn(model->fieldIndex("nazev"));
    	
    	mapper = new QDataWidgetMapper(this);
    	mapper->setModel(model);
    	mapper->setItemDelegate(new QSqlRelationalDelegate(this));
    
    	mapper->addMapping(ui.lineEditFirmaNazev, model->fieldIndex("nazev"));
    	mapper->addMapping(ui.lineEditFirmaICO, model->fieldIndex("ico"));
    	mapper->addMapping(ui.lineEditFirmaDIC, model->fieldIndex("dic"));
    
    	mapper->addMapping(ui.lineEditFirmaUlice, relationModel->fieldIndex("ulice"));
    	mapper->addMapping(ui.lineEditFirmaPSC, relationModel->fieldIndex("psc"));
    	mapper->addMapping(ui.lineEditFirmaCP, relationModel->fieldIndex("cislo_popisne"));
    
    Není to sice příklad, který jsem popsal, tady se snažím spojit tabulku firma s tabulkou adresa (tzn relace 1:1), ale problém je stejný, protože model->setRelation nahradí sloupec id_adresa v modelu sloupcem ulice v relaci. Nepodařilo se mi spojit celé tabulky.

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.