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 04:22 | Nová verze

    Byla vydána nová verze 15.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Zajímavý projekt

    Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Zajímavý software

    Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | IT novinky

    Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.

    Ladislav Hagara | Komentářů: 2
    včera 08:22 | Bezpečnostní upozornění

    V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.

    Max | Komentářů: 6
    včera 05:22 | Zajímavý článek

    Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být

    … více »
    Ladislav Hagara | Komentářů: 14
    16.6. 16:11 | Nová verze

    Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    16.6. 14:11 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 23
    16.6. 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 40
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1930 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: 492×
    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.