MySQL DB via ODBC-Connector connecten, aber wie ??
-
Hallo alle zusammen,
wollte gern meine bestehende DB in MySQL via ODBC-Connector von Hand in mein MFC Programm einbinden bzw. vom Programm aus die DB connecten.
Hab keinen blassen schimmer wie man das anstellt, hab auch im Forum selbst gesucht, bin aber leider nicht richtig fündig geworden.
Bitte um hilfe !!!Was soll ich includieren, editiern, einbinden ????? FRAGEN über FRAGEN.
Bin für jede Hilfe sehr dankbar!!!
mfg
Slawo
-
Also für die Arbeit in MS VC schau mal im MFC FAQ: das geht über die KLassen CDatabase und CRecordset
Damit das klappt, brauchst du aber MySQL-ODBC-Treiber. Die sind nicht standardmäßig unter Windows installiert, deswegen www.mysql.com, dort die Treiber ziehen. Vorsicht: die aktuellsten haben einen Bug und gehen nicht! Bisher, zumidnest als ich zuletzt geschaut habe, gabs keine neue Version, nimm deswegen lieber ne Vorgängerversion, die hängen da auch noch zum Download.
-
ok, werd ich ma auschecken.
big thx erstma @ Pellaeon
-
Du könntest natürlich auch direkt die C API der MySQL Datenbank nutzen. Einen C++ Wrapper für diese C API kannst du hier downloaden
-
@ guenni81,
hab ich auch schon versucht. Hab sowas gemacht. Das ist die Header-Datei:
#include <windows.h> #include "G:\...\MySQL\Contributed APIs\mysql++-1.7.1-win32-vc++\mysql\include\mysql.h" class CSQLConnection { public: CSQLConnection(){}; ~CSQLConnection(){}; int sconnect(void) { MYSQL_RES *mTabelle; MYSQL_ROW mRecord; MYSQL *mConnection, mDB; int mError; mysql_init(&mDB); mConnection = mysql_real_connect(&mDB,"localhost","root","","testdb",0,0,0); if (mConnection == NULL) { TRACE("Es konnte keine Verbindung zur Datenbank hergestellt werden: %s",mysql_error(&mDB)); return 1; } else { TRACE("Es wurde erfolgreich eine Verbindung hergestellt!"); } mysql_close(mConnection); return 0; } };
Das lässt sich Kompilieren, sobald ich aber die Header irgendwo includieren will kommen solche fehler:
g:\...\MySQL\Contributed APIs\mysql++-1.7.1-win32-vc++\mysql\include\mysql_com.h(115) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'fd' g:\...\MySQL\Contributed APIs\mysql++-1.7.1-win32-vc++\mysql\include\mysql_com.h(115) : error C2501: 'st_net::SOCKET': Fehlende Speicherklasse oder Typspezifizierer g:\...\MySQL\Contributed APIs\mysql++-1.7.1-win32-vc++\mysql\include\mysql_com.h(115) : error C2501: 'st_net::fd': Fehlende Speicherklasse oder Typspezifizierer
aber wie kann ich dann die funktionen nutzen oder irgendwas aus der DB an eine andere Klasse übergeben z.B. um berechnungen damit anzustellen oder so?
Ich kann ja ohne zu includieren nochnichma die Verbindung zur DB herstellen.Wenn du / Ihr Rat weißt/wisst, dann her damit bin für jeden Vorschlag offen !!!!
mfg
Slawo