[gelöst] qt eval und vorübergehen odbc, später mysql modul
[gelöst] qt eval und vorübergehen odbc, später mysql modul
Hallo!
Bei der Evaluation von Qt gibt es ja kein MySQL Modul. Jetzt möchte ich vorübergehend ODBC benutzen und dann, wenn Qt "frei" ist das MySQL Modul.
Ich habe einen MySQL-Server installiert und erfolgreich getestet.
Dann habe ich mir MyODBC runtergeladen und installiert.
Jetzt komme ich aber nicht klar mit dem herstellen einer Verbindung zur MySQL-Datenbank mittels ODBC.
Wie muss mein Code in Qt aussehen, wenn ich mich mit den folgenden Paramtern mit einer Datenbank verbinden will? Danach würde ich gerne einen einfachen SQL-Query ausführen können!
Benutzer: klaus
Password: 83id0932
Datenbank: world
Host: localhost
(diese Daten sind ausgedacht)
MfG
Kowi
Bei der Evaluation von Qt gibt es ja kein MySQL Modul. Jetzt möchte ich vorübergehend ODBC benutzen und dann, wenn Qt "frei" ist das MySQL Modul.
Ich habe einen MySQL-Server installiert und erfolgreich getestet.
Dann habe ich mir MyODBC runtergeladen und installiert.
Jetzt komme ich aber nicht klar mit dem herstellen einer Verbindung zur MySQL-Datenbank mittels ODBC.
Wie muss mein Code in Qt aussehen, wenn ich mich mit den folgenden Paramtern mit einer Datenbank verbinden will? Danach würde ich gerne einen einfachen SQL-Query ausführen können!
Benutzer: klaus
Password: 83id0932
Datenbank: world
Host: localhost
(diese Daten sind ausgedacht)
MfG
Kowi
doch, habe ich...
und guck doch mal auf dieser offiziellen Seite, ob Du die Klasse da findest:
http://doc.trolltech.com/3.3/classes.html
und guck doch mal auf dieser offiziellen Seite, ob Du die Klasse da findest:
http://doc.trolltech.com/3.3/classes.html
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Vorweg: Was um alles in der Welt mache ich einem Forum, in dem man andauernd auf die Dokumention verwiesen wird?! 
Als Erklärung für den QString databaseName gibt es follgenden Text:
...
db = QSqlDatabase::addDatabase( "QODBC3" );
db->setDatabaseName( "DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=myaccessfile.mdb" );
if ( db->open() ) {
// success!
}
...
Und genau mit der Funktion setDatabaseName kann ich nichts anfangen, weil ich mich mit ODBC eben nicht auskenne. Es steht hier meines Erachtens nichts von einem Benutzernamen oder einer Datenbank oder irre mich hier?
Wie müsste mein Funktionsparamter denn aussehen, wenn ich mich mit einer MySQL-Datenbank verbinden will (Parameter s.o.)?
Als Erklärung für den QString databaseName gibt es follgenden Text:
...
db = QSqlDatabase::addDatabase( "QODBC3" );
db->setDatabaseName( "DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=myaccessfile.mdb" );
if ( db->open() ) {
// success!
}
...
Und genau mit der Funktion setDatabaseName kann ich nichts anfangen, weil ich mich mit ODBC eben nicht auskenne. Es steht hier meines Erachtens nichts von einem Benutzernamen oder einer Datenbank oder irre mich hier?
Wie müsste mein Funktionsparamter denn aussehen, wenn ich mich mit einer MySQL-Datenbank verbinden will (Parameter s.o.)?
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Hättest du gleich gesagt, das du zu einem MySQL Server Verbinden willst und wissen willst, wie das aussieht hätte ich dir schon früher helfen können. Außerdem habe ich dich ja nicht verwiesen, lediglich den Verweis auf die richtige Klasse gegeben. Also, eine Verbindung zu einer MySQL Datenbank sieht so aus:
Aber selbst das steht genauso in der Dokumentation. Wenn du sehr oft dorthin verwiesen wirst, bedeutet das vielleicht es sind simple Dinge, die klar und deutlich bereits in der Dokumentation stehen?
Ich hoffe, ich konnte dir helfen. Wobei ich aus persönlicher Sicht durch die ganzen Versionsunterschiede zwischen 3.x, 4.0 und 4.1 dazu übergegangen bin mit libmysqlclient14 (4.1) only zu arbeiten und nicht über das Plugin sondern über mysql++ zu gehen. Würde sich außerdem anbieten, da in deiner Version ja eh kein MySQL Plugin enthalten ist. Ist aber nur ein Tipp/Hinweis meinerseits.
Code: Alles auswählen
connection = QSqlDatabase::addDatabase( "QMYSQL3" );
connection -> setDatabaseName( "DATENBANK_NAME" );
connection -> setUserName( "root" );
connection -> setPassword( "" );
connection -> setHostName( "localhost" );
connection -> setPort( 3306 );
/* Bsp für weitere Optionen */
connection -> setConnectOptions( "CLIENT_COMPRESS;CLIENT_IGNORE_SPACE" );
Ich hoffe, ich konnte dir helfen. Wobei ich aus persönlicher Sicht durch die ganzen Versionsunterschiede zwischen 3.x, 4.0 und 4.1 dazu übergegangen bin mit libmysqlclient14 (4.1) only zu arbeiten und nicht über das Plugin sondern über mysql++ zu gehen. Würde sich außerdem anbieten, da in deiner Version ja eh kein MySQL Plugin enthalten ist. Ist aber nur ein Tipp/Hinweis meinerseits.
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Danke für den Code Florian! Habe mir mysql++ schon mal angeschaut, aber meine C++ Kenntnisse sind nicht so versiert, glaube ich!
Klar die Doku ist super, aber wenn ich VON der Doku ZUM Forum komme...
Ein Problem habe ich dennoch!!! Ich habe einen MySQL-Server, aber kein MySQL-Modul soviel ist klar. Ich will aber ODBC and MySQL ran!!! Und hier stoße ich in der Qt3 Doku auf Granit...
Klar die Doku ist super, aber wenn ich VON der Doku ZUM Forum komme...
Ein Problem habe ich dennoch!!! Ich habe einen MySQL-Server, aber kein MySQL-Modul soviel ist klar. Ich will aber ODBC and MySQL ran!!! Und hier stoße ich in der Qt3 Doku auf Granit...
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Naja, ehrlich gesagt ist das ja auch kein Thema, was Qt betrifft. Qt ist wie man ODBC anspricht und MySQL ist wie man MySQL über ODBC benutzt. Wobei wenn du nur MySQL benutzt würde ich mir das mit dem ODBC nochmal überlegen, denn der Befehlssatz weicht doch hier und dort gewaltig ab und er stößt relativ schnell an seine Grenzen. mysql++ ist das gleiche wie die Qt Klassen nur mit anderen Namen.
Baue eine Verbindung auf, z.B. Global und frage dann deine benötigen Sachen ab. Da Qt, STL Support besitzt kannst du das dann einfach anstelle eines std::string's gleich als QString behandeln.
Baue eine Verbindung auf, z.B. Global und frage dann deine benötigen Sachen ab. Da Qt, STL Support besitzt kannst du das dann einfach anstelle eines std::string's gleich als QString behandeln.
Danke, dann versuch ich es mal mit mysql++.
Upps,...
auf der Seite: http://tangentsoft.net/mysql++/
steht folgendes:
Upps,...
auf der Seite: http://tangentsoft.net/mysql++/
steht folgendes:
Und da ich nur Visual C++ 6.0 als Buch Edition habe, brauche ich hiermit wohl gar nicht erst anzufangen, wie?Will it build under Visual C++ 6?
No, it won't. This is a six-year-old compiler, and it had the worst Standard C++ support of any compiler in its time. MySQL++ doesn't build with six-year-old versions of GCC, either. I'm not going to hold back the technical development of MySQL++ just to accommodate a weak implementation of C++.
The last version to work with this compiler is 1.7.1, linked above. I cannot support this version; I don't even know if it's a stock 1.7.1 or a hacked version. If it works, I'm happy for you. If it breaks, you get to keep both pieces.
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten: