Zdravim, konecne jsem se v QT dostal k databazim, ale sekl jsem se hned ze startu.
Kod je jednoduchy, ale bohuzel se mi program nechce pripojit. Nevite cim by to mohlo byt?
Kod: http://codepad.org/esLA6vB0
ted jsem te moc nepochopil, co mam zkompilovat? ten program zkompilovat jde, ale k databazi se nepripojim..
asi myslis neco jineho, mohl bys mi dat podrobnejsi navod? jestli mas na mysli .pro soubor, tak tam jsem vlozil: QT += sql
Qt neobsahuje skompilovanej driver pro Mysql... ten právě musíš skompilovat a až potom můžeš používat driver QMYSQL
viz. návod a info - http://doc.qt.nokia.com/4.7-snapshot/sql-driver.html
no v eng jsem slaby, takze nejdriv mam zkompilovat driver pro mysql, ten zdrojak driveru vezmu kde? a kdyz neco zkompilujes tak vytvoris *.exe soubor ne? a ten exe soubor nejak pripojis do zdrojaku meho programu? to je blbost, proste te moc nechapu :(
porad se mi ale databaze nechce pripojit:
Mohl by jsi prosím tě napsat, jak si přesně postupoval? já to podle toho návodu zkoušel taky, ale vždy mi nmake hodil chybu, že neexistuje Mysql.obj a Server.obj
hlavně jsem zkoušel tohle:
cd %QTDIR%\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\MySQL Server <version>\lib\opt\libmysql.lib" mysql.pro
nmake
Samozřejmě upravený cesty... ale jak tam píšou "C:\MySQL\include", tak to tam vůbec ani nemám a to jsem instaloval "mysql-installer-5.5.21.0.msi", takže jsem tipnul, ze to bude asi ve složce pak jako ..MySQL/C++ Connector/include.. ale stejně mi to nějak nejde
PS: ten qmake mi takto nejde jako příkaz, takže musím zadávat cestu k tomu qmake (../Qt/4.8.0/bin/qmake.exe), ale to chyba snad neni
Musis si v QT a v MySQL nainstalovat i zdrojaky, pak jdi do e:\Programy\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\mysql\
vytvor tam prvni bat soubor:
cd e:\Programy\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\mysql
qmake.exe "INCLUDEPATH+=e:/aaa/include" "LIBS+=e:/aaa/lib/libmysql.lib" CONFIG+=release mysql.pro
mingw32-make
pause
a druhy bat soubor:
cd e:\Programy\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\mysql
qmake.exe "INCLUDEPATH+=e:/aaa/include" "LIBS+=e:/aaa/lib/libmysql.lib" CONFIG+=debug mysql.pro
mingw32-make
pause
a pak je oba spustis v QT Desktop. Muj problem byl v tom, ze mysql zdrojaky byl ve slozce s mezerou, ale kdyz jsem je nakopiroval do slozky aaa tak uz to pak slo
Kdyžtak ještě napíšu jak jsem postupoval.. kdyby někdo řešil stejnej problém...
Návod je určen pro windows (kompilace pomocí Visual Studio 2010)
1) stáhnout Qt (bez SDK - asi 280MB) + Qt Creator (není podmínka)
2) stáhnout a nainstalovat mysql-dev (např. mysql-installer-5.5.21.0.msi), to najdete na ofic. mysql stránce
3) spustit Visual Studio Prompt (cmd pro VS) - to najdete většinou ve startu u VS
4) jak jste nainstalovali Mysql, tak by tam měla být složka (něco jako) MySQL Server 5.5, v této složce budeme potřebovat pouze složky include a lib, takže tyto 2 skopírujte do rootu Mysql
5) do otevřeného Prompt napište postupně:
cd C:\Qt\4.8.0\src\plugins\sqldrivers\mysql
C:\Qt\4.8.0\bin\qmake.exe "INCLUDEPATH+=C:/www/Mysql/include" "LIBS+=C:/www/Mysql/lib/libmysql.lib" CONFIG+=release mysql.pro
nmake
C:\Qt\4.8.0\bin\qmake.exe "INCLUDEPATH+=C:/www/Mysql/include" "LIBS+=C:/www/Mysql/lib/libmysql.lib" CONFIG+=debug mysql.pro
nmake
Samozřejmě cesty se můžou u vás lišit... nyní by ve složce release a debug měli být výsledné knihovny :-)
Tak ještě jeden (poslední) problém... nějak nechápu kam to mám dát... ono, jak mám skompilovaný .dll a .lib od release a debug, tak jsem to skopíroval do C:\Qt\4.8.0\plugins\sqldrivers kde jsou i ostatní knihovny pro databáze a stejně když dám qDebug() << QSqlDatabase::drivers(); tak mi to QMYSQL v.bec neukáže, zkoušel jsem i přidat do projektu knihovnu .dll + LIBS+= na libku a stejně nic :/
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku