• 42 odgovora
  • 11.384 pregleda
C++/QT i mysql opet 04.02.2009. u 12:35 · pre 215 meseci #1
Code:

#include "mainwindow.h"
#include <QtGui/QLabel>
#include <QtGui/QApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlerror>
#include <QtSql/QSqlquery>
#include <QtGui/QMessagebox>
#include <QtSql/QMYSQLDRIVER>



MainWindow::MainWindow(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
}


void MainWindow::spremanje()
{


QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("proba");
db.setUserName("root");
db.setPassword("123");

QSqlQuery q;
q.exec("insert into druga(id,id1,a) values(1,1,a)");

}



ovo je code za qt i mysql.

javi grešku expected ')' before '*' token
c:/qt/qtcreator/qt/include/qtsql/drivers/mysql/qsql_mysql.h
te mi podcrta include <mysql.h> u file-u qsql_mysql.h

ako umjesto #include <QtSql/QMYSQLDRIVER>
stavim
#include <QtSql/QSQLDRIVER>

onda mi kompajlira bez greške
međutim kod izvršavanja dobim


Starting C:/Documents and Settings/Marko/My Documents/qt/sds/debug/sds.exe
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC
QSqlQuery::exec: database not open


pa bi molio za malu pomoć
Re: C++/QT i mysql opet 04.02.2009. u 16:38 · pre 215 meseci #2
Mysql plugin nije buildovan za doticnu qt varijantu. To kaze i ovde

Code:

 QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC


Rekonfigurisi qt i omoguci mysql driver, kopiraj mysql headere i lib u qt src/lib dir i rebuilduj qt.
Potpis
TurboDispatchJumpAddressEnd
----
Knocka Fia
----
And so we meet, again in a different time
Re: C++/QT i mysql opet 05.02.2009. u 08:09 · pre 215 meseci #4
Imas li u project fajlu (onaj koji se generise sa qmake) liniju
Code:

QT += sql

Potpis
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
Re: C++/QT i mysql opet 05.02.2009. u 10:05 · pre 215 meseci #5
Citat:
karas: Imas li u project fajlu (onaj koji se generise sa qmake) liniju
Code:

QT += sql



imam.
u folderu src/sql imam neke o file-ove.
napravio build fileova u sql folderu.
Re: C++/QT i mysql opet 05.02.2009. u 11:17 · pre 215 meseci #7
Qt koristim samo pod Linuksom. Pitao sam zato sto kod mene nema te linije pa moram rucno da je ubacim.
MySQL je podignut na portu 3306?
Potpis
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
Re: C++/QT i mysql opet 05.02.2009. u 21:42 · pre 215 meseci #9
dajte pomognite oko kompajliranja mysql modula za C++/QT.

već sam lud.

dali netko može kompajlirat i poslat finalne file-ove na email?
Re: C++/QT i mysql opet 06.02.2009. u 09:19 · pre 215 meseci #10
dali mysql mora biti u C:\ ?

jer meni je instaliran u program files, da nije to možda problem?
Re: C++/QT i mysql opet 06.02.2009. u 10:41 · pre 215 meseci #11
Da li Qt vidi putanju do MySQL-a? Mozda je tu problem.
Potpis
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
Re: C++/QT i mysql opet 06.02.2009. u 11:13 · pre 215 meseci #12
Citat:
karas: Da li Qt vidi putanju do MySQL-a? Mozda je tu problem.



gdje se to podešava?
Re: C++/QT i mysql opet 06.02.2009. u 12:06 · pre 215 meseci #13
Ne znam pod Windows-om kako to ide, pod Linuksom se zadaju parametri za configure koliko se secam.
Potpis
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
Re: C++/QT i mysql opet 06.02.2009. u 13:15 · pre 215 meseci #14
Citat:
karas: Ne znam pod Windows-om kako to ide, pod Linuksom se zadaju parametri za configure koliko se secam.


u windowsima

cd C:\Qt\4.4.3

u tom folderu postoji configure koji se pozove.

jel možeš reći kako ide na linuxu?
Re: C++/QT i mysql opet 06.02.2009. u 13:53 · pre 215 meseci #15
Sad pricam napamet jer mi je to kod kuce a i samo jednom sam instalirao, ali ide kao i za ostale biblioteke:
Code:

./configure --path /usr/local/qt-4.3 --plugin-sql-mysql --mysql-path putanja
make
make install

Dakle, configure podesi putanju gde bi da drzis sam Qt, gde je MySQL (ako nije na standardnoj putanji) i sl. E sad posto si pod windowsom moras da imas instaliran i gmake, verovatno >2.81, kod mene sve to vec postoji na sistemu.
Kako si uopste instalirao pod Windowsom, da li si koristio configure ili ide na neki drugi nacin? Da li ti je pre radilo pa je prestalo posle promene MySQL instalacije?
Potpis
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
Re: C++/QT i mysql opet 06.02.2009. u 14:05 · pre 215 meseci #16
Citat:
karas: Sad pricam napamet jer mi je to kod kuce a i samo jednom sam instalirao, ali ide kao i za ostale biblioteke:
Code:

./configure --path /usr/local/qt-4.3 --plugin-sql-mysql --mysql-path putanja
make
make install

Dakle, configure podesi putanju gde bi da drzis sam Qt, gde je MySQL (ako nije na standardnoj putanji) i sl. E sad posto si pod windowsom moras da imas instaliran i gmake, verovatno >2.81, kod mene sve to vec postoji na sistemu.
Kako si uopste instalirao pod Windowsom, da li si koristio configure ili ide na neki drugi nacin? Da li ti je pre radilo pa je prestalo posle promene MySQL instalacije?



make uredno radi.instalirao sam qt open source, skinuo msi, a ne source.mada i taj sadrži source.
i napravio mi sam build svega.

hvala, probat ću
Re: C++/QT i mysql opet 06.02.2009. u 14:47 · pre 215 meseci #17
imam instaliran borland rad studio i sad ga make j... od tog.
u environment variables imam sve podešeno kako treba.

danas ili sutra ide format diska pa ćemo vidjeti, a probat ću i na linuxu podesiti.
Re: C++/QT i mysql opet 06.02.2009. u 18:27 · pre 215 meseci #18
Uh, uh, koliko problema, a sasvim je jednostavno :) Evo ja sam iskompajlirao mysql plugin bez problema i saljem ga uz poruku. Raspakovati 4 fajla iz arhive u c:\qtcreator\qt\plugins\sqldrivers direktorijum, jer koliko vidim iz prethodnih poruka koristi se qtcreator i verzija qt-a koja ide uz njega.

Takodje je potrebno da libmysql.dll bude "vidljiv" Qt-u. Najjednostavnije resenje je iskopirati libmysql.dll u c:\qtcreator\qt\bin, ili je moguce dodati u PATH env varijablu dir u kome se ovaj dll nalazi. Dalje, qtcreator dolazi sa kompletnim mingw toolchain-om, koji se nalazi u c:\qtcreator\mingw, pa ako je potrebno rekonfigurisati i rekompajlirati qt treba koristiti mingw32-make, umesto make.

Ako neko zeli da koristi MS kompajler da build-uje qt i koristi Visual studio, vise detalja moze pronaci ovde http://www.elitesecurity.org/t325380-0#1967661
Moram jos spomenuti da verzije Qt-a vece od 4.4.0 ne zahtevaju skoro nikakvo patch-ovanje i/ili intervencije da bi se iskompajlirale pomocu MS kompajlera.
Potpis
TurboDispatchJumpAddressEnd
----
Knocka Fia
----
And so we meet, again in a different time
Re: C++/QT i mysql opet 06.02.2009. u 19:36 · pre 215 meseci #19
Citat:
nikomak

Takodje je potrebno da libmysql.dll bude "vidljiv" Qt-u. Najjednostavnije resenje je iskopirati libmysql.dll u c:\qtcreator\qt\bin, ili je moguce dodati u PATH env varijablu dir u kome se ovaj dll nalazi. Dalje, qtcreator dolazi sa kompletnim mingw toolchain-om, koji se nalazi u c:\qtcreator\mingw, pa ako je potrebno rekonfigurisati i rekompajlirati qt treba koristiti mingw32-make, umesto make.



iskopira se limmysql i onda kompajliranje prolazi?
Re: C++/QT i mysql opet 06.02.2009. u 21:25 · pre 215 meseci #20
Code:


#include <QtGui/QLabel>
#include <QtGui/QApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlerror>
#include <QtSql/QSqlquery>
#include <QtGui/QMessagebox>

void MainWindow::spremanje()
{


QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("proba");
db.setUserName("root");
db.setPassword("123");
QSqlQuery query(db);
db.open("root","123");
query.exec("insert into druga(id,id1,a) values(1,1,ss)");
db.close();


}








trebam popravak ovog koda da mi radi.aplikacija se ruši.pojavi se debug prozr visual studi-a za debugiranje.
radim po knjizi.
koristim qt creator.
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme