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 03:55 | Nová verze

    Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 3
    dnes 02:55 | IT novinky

    Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).

    Ladislav Hagara | Komentářů: 0
    dnes 01:22 | Nová verze

    Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | IT novinky

    Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.

    Ladislav Hagara | Komentářů: 2
    včera 16:55 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | Nová verze

    Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.

    Ladislav Hagara | Komentářů: 17
    včera 12:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Zajímavý článek

    Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.

    Vlado99 | Komentářů: 5
    včera 03:00 | Zajímavý software

    Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.

    Ladislav Hagara | Komentářů: 0
    včera 01:00 | Nová verze

    Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (26%)
    Celkem 2043 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: QT+SQL+C++

    7.11.2009 20:01 Jirka
    QT+SQL+C++
    Přečteno: 503×
    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.