C++ -> MySql -> Bahnhof

Thomasio

Erfahrenes Mitglied
Ich wage mich gerade an die allerersten Versuche mit C++ auf MySql zuzugreifen, aber ich stehe von Anfang an mitten im Wald und sehe keinen einzigen Baum.

Vorweg: Ich kenne MySql von webseiten und Zugriff über PHP.
Ich habe MySql zu Testzwecken auf dem eigenen Rechner installiert und will jetzt eine möglichst simple Testanwendung in Code::Blocks/MinGW/GCC++ schreiben, über die ich die Datenbank lesen und schreiben kann.
Begriffen habe ich, dass ich dazu eine library brauche, um überhaupt connecten zu können.
Gefunden habe ich so eine library bei http://tangentsoft.net/mysql++/, aber da blicke ich absolut nicht durch.

Ich frage mich von Anfang an, wozu braucht eine library die nichts weiter tun soll als mich zu einer Datenbank zu verbinden und mir die nötigen query´s zur Verfügung zu stellen 10,4MB an code in 795 files?
Da liest man 3 Jahre hin bis man den ersten connect zustande bringt.
Folgerichtig bin ich auch völlig verloren in den 100ten von files, keine Ahnung was ich damit machen soll/muss.

Ich habe schon einige Stunden investiert, mir ein paar von deren Beispielen angesehen, und sogar ein paar tutorials dazu auf anderen webseiten gefunden aber selbst da verstehe ich nur Bahnhof.
Nachdem meine Kenntnisse aus PHP scheinbar nutzlos sind, also zurück zu den Anfängen und die Frage:
Gibt es zu C++/MySql irgendwo eine Anleitung für Doofe?
 
Hi,

welche 100te von Files schaust Du Dir denn da an? Den Source-Code? :eek:
Ich habe mal kurz in das Tutorial reingeschaut. Ich bezweifel, dass es da etwas besseres gibt. Das sieht doch sehr ausführlich aus. Hast Du die ersten beiden einfachen Beispiele mal ausprobiert? Hast Du dann mal versucht, diese Beispiele auf eine Deiner eigenen DB-Tabellen umzuschreiben?

Wo hakt's denn genau?

LG
 
Man guckt in die Doku und nicht ins File.
Hm ganz einfach ... bau mal nen Streammodel um nen paar bescheuerte C-Funktionen (MySQL bietet nur C-API an ...)
 
Nachdem meine Kenntnisse aus PHP scheinbar nutzlos sind, also zurück zu den Anfängen und die Frage:
Gibt es zu C++/MySql irgendwo eine Anleitung für Doofe?

Würd ich so nicht sagen, du kannst auch mit mysql++ deine sql statements einfach verpacken und "executen". Von daher sollten dir deine Kentnisse über PHP einiges bringen. Experimentier einfach mal n bisschen rum. Über SQL statements is das ganze ziemlich simpel.

Ansonsten schliess ich mich den Vorrednern an: RTFM
 
Wie gesagt, ich mache gerade die allerersten Schritte ins Neuland, ihr könnt mich also erstmal als völlig unwissend betrachten.

Natürlich habe ich mir die Beispiele angesehen, im Prinzip müsste ich das mit etwas herumprobieren auch hinbekommen, WENN es denn mal ohne Fehler durch den Compiler ginge.
Aber es hakt schon da, was ich da alles includen muss.

Schön der Reihe nach:
1) Ich habe die library (sourcecode) runtergeladen und in irgendein Verzeichnis entpackt, also habe ich jetzt 795 files da drin.
2) Unter anderem gibt es da ein Verzeichnis "lib" in dem sich eine mysql++.h findet, aber ich habe keinen Dunst was ich mit den anderen 66 files in dem Ordner machen soll.
2a) Wenns nur die mysql++.h ist, könnte ich sie einfach ins lib Verzeichnis von MinGW kopieren, aber ich fürchte ich brauche ein paar mehr, und wenn mehr, dann wohl besser in nem separaten Ordner, den ich dann aber in den Suchpfad einfügen muss, nur wie?
3) Soweit ich mitbekommen habe brauche ich auch noch eine libmysql.dll oder libmysql.a oder sowas für den Linker, aber woher nehme ich die und welche davon brauche ich überhaupt?
 
Wie gesagt, ich mache gerade die allerersten Schritte ins Neuland, ihr könnt mich also erstmal als völlig unwissend betrachten.

Natürlich habe ich mir die Beispiele angesehen, im Prinzip müsste ich das mit etwas herumprobieren auch hinbekommen, WENN es denn mal ohne Fehler durch den Compiler ginge.
Aber es hakt schon da, was ich da alles includen muss.

Schön der Reihe nach:
1) Ich habe die library (sourcecode) runtergeladen und in irgendein Verzeichnis entpackt, also habe ich jetzt 795 files da drin.
Unter anderem ist da auch eine Datei namens INSTALL.txt drin. Die solltest du bei Gelegenheit mal lesen. Die sagt dir dann, das du die Datei README-MinGW.txt lesen sollt. Da steht dann drin wie du die mysql++ Bibliothek erstmal bauen kannst. Bevor du die Bibliothek nicht erstellt hast, brauchst du gar nicht versuchen eigene Programme zu schreiben.
3) Soweit ich mitbekommen habe brauche ich auch noch eine libmysql.dll oder libmysql.a oder sowas für den Linker, aber woher nehme ich die und welche davon brauche ich überhaupt?
:rtfm: Es steht doch alles da! Du mußt erstmal MySQL mit den Entwicklerdateien installiert haben. Lies die README-MinGW.txt Datei!

Gruß
 
Au weia,
erstmal danke für den Tipp, die ReadmeMinGW ist mit in den 795 files untergegangen.

Nachdem ich da nun reingeschaut und zumindest ein klein wenig verstanden habe, stelle ich fest, dass ich abhängig vom Rechner auf dem das läuft jeweils den ganzen Kram neu machen muss, sprich wenn ich das nach erfolgreichem Test gelernt habe, darf ich die ganze Prozedur auf dem dann "echten" Server nochmal wiederholen, und jedesmal wenn sich am Server irgendwas ändert, z.B. eine neue Version von MySql installiert wird, darf ich das Ganze schon wieder von vorne neu machen, oder sehe ich das falsch?
 
Au weia,
erstmal danke für den Tipp, die ReadmeMinGW ist mit in den 795 files untergegangen.

Nachdem ich da nun reingeschaut und zumindest ein klein wenig verstanden habe, stelle ich fest, dass ich abhängig vom Rechner auf dem das läuft jeweils den ganzen Kram neu machen muss, sprich wenn ich das nach erfolgreichem Test gelernt habe, darf ich die ganze Prozedur auf dem dann "echten" Server nochmal wiederholen, und jedesmal wenn sich am Server irgendwas ändert, z.B. eine neue Version von MySql installiert wird, darf ich das Ganze schon wieder von vorne neu machen, oder sehe ich das falsch?
Ja, das ist falsch. Du entwickelst das alles auf dem Entwicklungs-PC. Es macht keinen Sinn die Entwicklerdateien auf dem Produktiv-Server zu installieren. Du kopierst einfach nur alle notwendigen Bibliotheken mit dem Programm auf den Server und gut is'.

\edit: Außerdem sind die DLLs einer Major Version untereinander natürlich kompatibel, so das auch wenn eine neue MySQL Version rauskommt, man einfach nur die DLLs austauschen muss. (das ist ja gerade der Vorteil vom dynamischen Linking)

Gruß
 
Zuletzt bearbeitet:
Ok, das beruhigt mich.
Ich mach mich dann mal ans Lesen, zumindest weiss ich jetzt wo ich anfangen muss.

Danke an alle.
 
Zurück