Új hozzászólás Aktív témák
-
peterszky
őstag
válasz Sk8erPeter #1762 üzenetére
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
dbDialog* form = new dbDialog();
form->show();
return app.exec();
}A dbDialog konstruktorban pedig úgy kezdődik, hogy csatlakozna az Oracle db-hez, ha nem megy, akkor hibaüzenet.
db = QSqlDatabase::addDatabase("QOCI");
db.setHostName("localhost");
db.setDatabaseName("XE");
db.setUserName("user");
db.setPassword("pass");
if (db.open())
{
//
} else {
QMessageBox msgBox;
msgBox.setText(QString::fromUtf8("Nincs kapcsolat."));
msgBox.exec();
}What else you gonna do on a Saturday?
-
peterszky
őstag
Van egy Qt programom, amiben van némi adatbázisos dolog is. Terminálból futtatva minden ok, viszont amikor a futtatható állományt a filekezelőből indítanám egér duplaklikkel, akkor nem tud kapcsolódni az adatbázishoz (Ubuntu 11.10). Ilyenkor mi a gond? Elsőre talán környezeti változókra tippelnék, de azokat külön kell ebben az esetben is beállítani? Ha igen, akkor hol (vagy megyek a Linux topicba ).
What else you gonna do on a Saturday?
-
peterszky
őstag
-
peterszky
őstag
Ahogy néztem, a két fellelhető Qt téma eléggé halott, plusz Doc itt is megfordul, mint a téma egyik szakértője
Szóval két kérdésem lenne:
1. Az összeg mezőnél: van-e lehetőség, hogy ne ezt a tudományos alakot használja a nagy számokhoz? Az átméretezés nem segít.
2. Van-e olyan lehetősége a QTableViewnak, hogy kijelölni csak egy egész sort lehessen, mezőket egyenként ne, meg több sort se?
What else you gonna do on a Saturday?
-
peterszky
őstag
válasz peterszky #1424 üzenetére
Működik
Az előbbi link és a Pythian blog útmutatása alapján sikerült gond nélkül lefordítani a vezérlőt. Ehhez le kellett kapni a Qt forrást, majd a leírás alapján qmake/make párost alkalmazni, az így létrejött libqsqloci.so-t pedig betettem a Qt telepítés sqldrivers mappájába és voilá, működik minden.
[ Szerkesztve ]
What else you gonna do on a Saturday?
-
peterszky
őstag
Igen, csak az a problémám, hogy Oracle csomag nincs, ahogy keresgéltem...
[link] - itt írják, hogy miket kéne megtenni, csak a jelenlegi installnál hiányzik az oci mappa és a benne lévő fájlok, amik szükségesek a driver fordításhoz (qoci.pro, forrásfájlok).
(Ubuntu 11.10, Qt és Oracle 10g XE triót szeretném megkedveltetni egymással)
What else you gonna do on a Saturday?
-
peterszky
őstag
Doc, lenne egy Qt-s kérdésem
Adatbázis műveletekhez kellene nekem a QOCI driver. Az addig tiszta, hogy ezt manuálisan kell konfigurálni, hogy működjön (Oracle include/lib elérési útvonalak miatt), de a Qt4 "sqldrivers" könyvtára alatt nincs ott az oci mappa és abban az qoci.pro. A telepítésnél toltam el valamit?
[ Szerkesztve ]
What else you gonna do on a Saturday?
-
peterszky
őstag
Probléma megoldva:
xmlXPathRegisterNs() a barátom, tetszőleges prefix a namespachez és már lehet is használni mindent, ahogy kell.
int ns_reg = xmlXPathRegisterNs(xpathCtx, (xmlChar*)"x",(xmlChar*)"urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02");
if(ns_reg != 0)
{
cerr << "namespace register error" << endl;
}
string xpath("/x:Document/x:FIToFICstmrCdtTrf/x:GrpHdr");Szerk: Látom Jester megelőzött
[ Szerkesztve ]
What else you gonna do on a Saturday?
-
peterszky
őstag
válasz ArchElf #1166 üzenetére
Közben rátaláltam a problémám forrására, az XML namespace "zavar" be, annak a kezelését kell megoldani.
<Document xmlns="xyz" xmlns:xsi="<url>"> -> ezzel nem ment az XPath hivatkozás.
<Document> -> ha kiszedtem, akkor viszont működött prímán, azt hiszem, hogy a namespace regisztrálás felé kell kutakodni, ennek kell utánanéznem.És sorry, hogy nem tettem futtatható kódot, eddigi kereséseim alapján nem egy túl elterjedt dolog ez, nem gondoltam volna, hogy ilyen gyorsan segítség érkezik
[ Szerkesztve ]
What else you gonna do on a Saturday?
-
peterszky
őstag
LibXML2 könyvtárral van tapasztalata valakinek? Belefutottam egy jelenelg számomra zsákutcát jelentő "érdekességbe", konkrétan az xmlXPathObject / xmlXPathContext / xmlXPathEvalExpression hármasnál.
Addig dióhéjban:
xmlXPathObjectPtr xpathObj;
xmlXPathContextPtr xpathCtx = xmlXPathNewContext(v_subtree->doc);
if(xpathCtx != NULL)
{
xpathCtx->node = v_subtree;
} else {
cerr << "xpath context create failed" << endl;
}
xpathObj = xmlXPathEvalExpression((xmlChar*)"*", xpathCtx);
if(xpathObj != NULL)
{
printXPathNodes(xpathObj->nodesetval);
//cout << xpathObj->nodesetval->nodeNr << endl;
} else {
cerr << "xpath eval failed" << endl;
}A v_subtree egy xmlTextReader olvasásnál az expand metódussal előállított részfa.
A gondom az, hogy az XPath-nál, ha *-gal ügyködöm, akkor szépen megtalál mindent, ami ott van a subtreeben. Viszont pont azért használnám ezt, hogy direktbe megtaláljak egy-egy nodeot. A gondom az, ha a * helyére egy helyes elérési útvonalat írok, akkor nem talál semmit a program.
What else you gonna do on a Saturday?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest