Kam schon oft, aber ich blick trotzdem nicht durch.



  • Moin moin erstmal!

    Also ich hab n ganz Problem an dem ich schon seit heute früh 7:30 sitze 😡

    Ich hab Win 2000 Professional und hab gestern Visual C++ .NET bekommen und mir heute ne mysql datenbank installiert.
    Datenbank funzt, visual c++ funzt auch.

    So jetzt mein Problem:

    Wie kann ich auf diese Datenbank über ein c++ progamm zugreifen? Ich hab mir alle Beiträge zu diesem Thema hier im forum durchgelesen und auch immer fleissig die quellcodes ausprobiert jedoch kannte er die mysql.h nicht. "Kein problem" dacht ich mir, einfach mal googeln. Nix gefunden nur haufen forenbeiträge bei denen zufällig das Wort "mysql.h" vorkam.
    Dann bin ich endlich fündig geworden (natürlich im gleichen forum wo ich vorher auch schon war - super hoschek 🙄)
    Ich hab dann halt das zeugs vom tom unix gesaugt und bei mir rein kopiert (in ..\Microsoft Visual Studio .NET 2003\Vc7\include), jedoch wusste ich nicht was ich mit der libmySQL.dll machen sollte, von der wahrscheinlich alles abhängt.
    So, jedenfalls hat dann der einfache connect auf meine Datenbank nicht so funktioniert wie ich mir das gedacht hab.(wie solls auch anders sein)
    Dann hab ich gelesen das es by mysql.com ne api gibt, die zugriffe auf eine mysql datenbank via c++ ermöglicht. Nach langen suchen und ca 2 liter kaffee hab ichs dann auch endlich gefunden und runter geladen (mysql++-1.7.32.tar.gz).
    Ok. Enpackt und dann? Keine ahnung!
    Hab dann einfach mal die Projektdatei geöffnet und versucht den Spass zu kompilieren.

    Als ich damit fertig war bekam ich jede menge warnings und n haufen fatal errors:

    resetdb fatal error LNK1181: cannot open input file 'libmysql.lib'

    Ich kann eigentlich nicht von mir behaupten das ich der voll noob in sachen c++ bin aber die sch.... hat mich fast zum verzweifeln gebracht!

    Also könnt ihr mir bitte bitte (am besten so da es auch ein Kindergartenkind versteht) erklären was ich alles zu machen habe damit das endlich funktioniert?



  • wild guess:
    du hast die Pfade nicht alle angepasst und vergessen den pfad zur libmysql.lib in den Pfaden aufzunehmen?



  • Der mysql++ Wrapper verwendet die C-API von MySQL.
    Mein Warpper verwendet die C-API von MySQL.

    Was du bei beiden brauchst ist das Developerpacket von MySQL.
    Darin befinden sich die Headerdateien (auch die mysql.h), die lib und die DLL für die C-API.

    Bei meinem Wrapper reichtes den Header zu inkluden und VC NET die API-Adteien finden zu lassen.
    Also die mysql.h und die anderen Header.
    Wie man einen Connect u.s.w. macht steht in der FAQ MFC.



  • hmm ok also nochmal ganz langsam...

    mein c++ ist installiert unter:
    C:\Programme\Microsoft Visual Studio .NET 2003

    mein mysql ist installiert unter:
    C:\Programme\MySQL\MySQL Server 4.1

    in dem mysql ordner befinden sich auch die ganzen von dir genannten datein im ordner "include"(mysql.h,libmysql.def) und im ordner lib/debug(libmysql.dll,libmysql.lib)

    so was muss ich dann jetzt machen?
    Wo bekomme ich das developerpacket von mysql her?
    Wie kann ich den wrapper, oder besser gesagt deinen wrapper, da ich anscheinend bei den msql++ mehr machen muss, includen und wie kann ich von VC NET die api finden lassen?

    PS.: Sorry wenn ich euch mit meinen fragen vielleicht auf die nerven gehe aber ich hab halt noch nie was mit datenbanken in verbindung mit c++ am hut gehabt 😉 ... jeder hat ja mal klein angefangen



  • Wenn du bereits mysql.h etc. hast dann ist das die API. Da sind auch noch *.lib und *.dll drin.
    In deiner IDE musst du nur einstellen das er solche Dateien im Pfad findet wenn du einfach

    include <mysql.h>
    schreibst.
    Dazu frage deine IDE.

    Mein Wrapper linkt automatisch seine LIB-Datei dazu.
    Also musst du der IDE sagen wo sie die findet.

    Man verwendet meinen Wrapper indem man einfach meine Headerdatei einbindet.
    Den Rest macht die Headerdatei selbst wenn die IDE auch die Datein findet(siehe oben).

    In der FAQ-MFC gibt es auch ein Bsp. für Connect und SELECT.


Anmelden zum Antworten