[ [REaS0n] @ 06.09.2008. 21:58 ] @
Da li neko ima iskustva sa MySQL pluginom koji dolazi sa QT? MySQL(5) je instaliran i startovan, a MySQL plugin kompajlovan,sve je proslo glatko prema ovom uputstvu http://doc.trolltech.com/4.2/s...to-build-the-plugin-on-windows , medjutim pozivanjem ovog koda iz knjige(sa podesenim vrednostima za host user,pass i bazu )

Code:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("mozart.konkordia.edu");
    db.setDatabaseName("musicdb");
    db.setUserName("gbatstone");
    db.setPassword("T17aV44");
    if (!db.open()) {
        QMessageBox::critical(0, QObject::tr("Database Error"),
                              db.lastError().text());


dolazi error message "Driver not loaded" . Nisam uspeo da pronadjem nista na netu oko ovog problema tako da ako neko zeli da pomogne necu mu zameriti:)
[ xeron @ 07.09.2008. 15:02 ] @
probaj ovo
http://www.qtcentre.org/forum/...ql-driver-not-loaded-3313.html
[ karas @ 07.09.2008. 16:23 ] @
Dodaj liniju
Code:

QT += sql

u project fajl. Naravno, postavi localhost i ostalo kako već treba.
[ [REaS0n] @ 07.09.2008. 17:02 ] @
Sa ovog gornjeg linka sto je Xeron ostavio, kompajlovao sam kod iz jednog primera i dosao do zakljucka da zapravo nemam driver za mysql?!

Citat:
()
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers:
QSqlError(-1, "Driver not loaded", "Driver not loaded")


Sad nisam siguran,da li sam trebao ceo QT rucno da kompajlujem, skinuo sam .exe fajl i instalirao i to je sve..

@karas

nije mi najjasnije gde tacno dodam QT += sql, eclipse inace koristim(od juce)


edit: evo izgleda da je uspelo,ponovo sam kompajlovao plugin i sada kao radi, odnosno vidi plugin za mysql3 i mysql ali sada imam drugi problem..

recimo promenio sam ime localhost u nesto drugi i odma izbaci error kako ne moze da se konektuje sto me raduje,medjutim kada podatke sve dobre podesim i pokrenem program on jednostano ostane u memoriji i ne radi nista(usuput i ne izvrsi query koji bi trebao,baza ostane prazna) i moram da cekam par minuta da mi izbaci neku gresku nakon koje se sam ugasi a pritom ga ne mogu ubiti kao proces..evo kod

Code:

#include <QApplication>
#include <QSqlDatabase>
#include <QSqlError>
#include <QtDebug>
#include <QSqlQuery>
#include <QMessageBox>
#include <QLabel>

#include "project.h"


bool createConnection()
    {
        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        db.setHostName("localhost");
        db.setDatabaseName("vezba");
        db.setUserName("proba");
        db.setPassword("proba");
        // ovaj kod ne izvrsi
        QSqlQuery query("INSERT INTO  proba (id) VALUE (100) ");
        if (!db.open()) {
            QMessageBox::critical(0, QObject::tr("Database Error"),
                                  db.lastError().text());
            return false;
        }

      


        return true;
 }


 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);

         if (createConnection())
            return 1;

         return app.exec();

 }


edit2: Haha,uspelo na kraju,firewall blokirao...hvala svima na pomoci

[Ovu poruku je menjao [REaS0n] dana 08.09.2008. u 01:00 GMT+1]
[ Nedeljko @ 11.09.2008. 09:01 ] @
Zar open izdanje Qt-a ne dolazi samo sa sqlite drajverima? Mogu li se ostale baze koristiti iz open izdanja ili samo iz komercijalnog?
[ karas @ 11.09.2008. 18:33 ] @
Uz open izdanje dobio sam Mysql drajvere a nisam PostgreSql. Pretpostavljam da ima veze sa tim sto je PostgreSql pod BSD a Qt pod GPL licencom.
[ Nedeljko @ 12.09.2008. 13:01 ] @
Koliko vidim PostghreSQL nije pod BSD licencom, ma šta autori tvrdili. Jednostavno, ono što su napisali nije tekst BSD licence. No, ta licenca koju su stavili jeste kompatibilna sa GPL, ali čak i da nije i da se radi o originalnoj BSD licenci, Trolltech ti daje pravo da linkuješ Qt sa BSD licenciranim kodom.
[ karas @ 12.09.2008. 16:13 ] @
Kazes da http://www.postgresql.org/about/licence nije tacno?
[ [REaS0n] @ 14.09.2008. 16:37 ] @
Hmm opet imam problem za koji nisam znao da ga imam....

odkad je izvrsio onaj query na bazi
Code:
QSqlQuery query("INSERT INTO  proba (id) VALUE (100) "); 


vise jednostavno nece nista,do firewalla nije sigurno jer je ugasen..pokusao sam da saznam sta tacno ne radi sa ovim kodom

Code:
 QSqlQuery query;
            if(! query.exec( !QSqlQuery query("INSERT INTO  proba (id) VALUE (100) ") )
            {
                QMessageBox::critical(0, QObject::tr("Database Error"),
                        query.lastError().text());
            }


ali ne izbacuje nista...program se kompajluje i pokrene bez problema ali ni jedan query se ne izvrsi, osim onog jednog..da stvar bude jos gora kod drugara sam isto probao,i opet jedan query se izvrsi i vise nista..
[ karas @ 15.09.2008. 21:51 ] @
Daj ceo kod. Meni ovo parče radi ispravno
Code:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("test");
db.setUserName("mysql");
if (!db.open())
{
  QMessageBox::critical(0, QObject::tr("Database Error"), db.lastError().text());
  return false;
}
QSqlQuery query;
query.exec("INSERT INTO test(txt) VALUES('blabla')");

[ Nedeljko @ 16.09.2008. 12:22 ] @
Koliko znam, BSD ima dve varijante:

Originalna:

Citat:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors.
4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


i modifikovana:

Citat:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


PostgreSQL licenca je:

Citat:
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.


Dakle, šta god autori tvrdili, to nije nijedna od dve varijante BSD licence.
[ [REaS0n] @ 16.09.2008. 20:01 ] @
@karas
i meni taj kod radi,izgleda je bio problem u redosledu naredbi u svakom slucaju mnogo hvala