Was erwartet "conn.connect" ??



  • Hallo

    Ich versuche mich zur Zeit an einem C++ Programms mit MySQL Unterstützung, mir gelingt es nur nicht eine Verbindung herzustellen.

    datenbank.cpp

    #include <iostream>
    #include <string>
    #include <mysql++.h>
    #include "datenbank.h"
    
        const char* z_Datenbank = 0, *z_Server = 0, *z_Benutzer = 0, *z_Passwort = "";    
        mysqlpp::Connection conn(false);
        if (conn.connect(*z_Datenbank, *z_Server, *z_Benutzer, *z_Passwort))
        {
            //Arbeit..............
        }
        else
        {
            std::cout << "Verbindungs Fehler" << conn.error() << "\n";
            return 1;
        }
    

    Fehlermeldung

    datenbank.cpp: In member function 'int DB::start()':
    datenbank.cpp:15: error: invalid conversion from 'const char' to 'const mysqlpp::cchar*'
    datenbank.cpp:15: error:   initializing argument 1 of 'bool mysqlpp::Connection::connect(const mysqlpp::cchar*, const mysqlpp::cchar*, const mysqlpp::cchar*, const mysqlpp::cchar*, mysqlpp::uint, my_bool, unsigned int, const mysqlpp::cchar*, unsigned int)'
    datenbank.cpp:15: error: invalid conversion from 'const char' to 'const mysqlpp::cchar*'
    datenbank.cpp:15: error:   initializing argument 2 of 'bool mysqlpp::Connection::connect(const mysqlpp::cchar*, const mysqlpp::cchar*, const mysqlpp::cchar*, const mysqlpp::cchar*, mysqlpp::uint, my_bool, unsigned int, const mysqlpp::cchar*, unsigned int)'
    datenbank.cpp:15: error: invalid conversion from 'const char' to 'const mysqlpp::cchar*'
    datenbank.cpp:15: error:   initializing argument 3 of 'bool mysqlpp::Connection::connect(const mysqlpp::cchar*, const mysqlpp::cchar*, const mysqlpp::cchar*, const mysqlpp::cchar*, mysqlpp::uint, my_bool, unsigned int, const mysqlpp::cchar*, unsigned int)'
    datenbank.cpp:15: error: invalid conversion from 'const char' to 'const mysqlpp::cchar*'
    datenbank.cpp:15: error:   initializing argument 4 of 'bool mysqlpp::Connection::connect(const mysqlpp::cchar*, const mysqlpp::cchar*, const mysqlpp::cchar*, const mysqlpp::cchar*, mysqlpp::uint, my_bool, unsigned int, const mysqlpp::cchar*, unsigned int)'
    

    Ganz offensichtlich erwartet conn.connect etwas anderes als
    "const char* z_Datenbank = 0......"
    nur ist das schon aus dem Sample geklaut! http://tangentsoft.net/mysql++/doc/pdf/userman.pdf [Seite 9 - 3.2. A Simple Example]
    Wie löse ich das Problem???

    Arbeite mit:
    gcc version 4.1.2 und Debian 4.1.1-21

    Danke schon mal....
    Magier



  • magier-phil schrieb:

    Wie löse ich das Problem???

    Du lernst korrekt abzuschreiben...

    Vergleiche:

    conn.connect(db, server, user, pass)
    

    mit

    conn.connect(*z_Datenbank, *z_Server, *z_Benutzer, *z_Passwort)
    

    Das alles bringt dir aber natuerlich auch nicht viel, wenn du die Variablen nicht mit sinnvollen Werten befuellst...

    PS:
    wer hat dir dieses haessliche z_ als prefix beigebracht? Ist ja furchtbar...



  • Brr OHHHH ja.... *PEINLICH*...... habe so lange rumprobiert das ich den Wald vor lauter Bäumen nicht gesehen habe.....
    Mhhhh wieso hat das den dann nicht schon vorher funktioniert?

    Das alles bringt dir aber natuerlich auch nicht viel, wenn du die Variablen nicht mit sinnvollen Werten befuellst...

    PS:
    wer hat dir dieses haessliche z_ als prefix beigebracht? Ist ja furchtbar...

    Ja habe alles leer geräumt um den Fehler zu finden.....
    und das mit dem z_ naja soll für mich die Erinnerung sein das es ein Zeiger ist.
    Aber DANKE wirklich, war ich schusselig.



  • magier-phil schrieb:

    Brr OHHHH ja.... *PEINLICH*...... habe so lange rumprobiert das ich den Wald vor lauter Bäumen nicht gesehen habe.....
    Mhhhh wieso hat das den dann nicht schon vorher funktioniert?

    Das alles bringt dir aber natuerlich auch nicht viel, wenn du die Variablen nicht mit sinnvollen Werten befuellst...

    PS:
    wer hat dir dieses haessliche z_ als prefix beigebracht? Ist ja furchtbar...

    Ja habe alles leer geräumt um den Fehler zu finden.....
    und das mit dem z_ naja soll für mich die Erinnerung sein das es ein Zeiger ist.
    Aber DANKE wirklich, war ich schusselig.

    schreib dann wenigstens nen p davor für pointer aber das z_ is seltsamm ^^
    ps: 😃


Anmelden zum Antworten