mysql & cpp?



  • Hi!
    wie kann ich mit c++ eine mysql datenbank abfragen?
    merci!
    gEorG



  • hi

    ist in c++ falsch... gabs aber schon total oft..

    benutz mal die suchfunktion (oben rot) für winapi und rund um die programmierung

    und schau dir die c++ api auf www.mysql.com an 😉



  • thread verschoben ins rund um die programmierung forum Rund um die Programmierung



  • schau mal in die Linux FAQ.

    und lies dir den Text durch http://www.catb.org/~esr/faqs/smart-questions.html



  • hi!
    geht nicht:

    #include <mysql.h>
    #include <iostream>
    using namespace std;
    int main()
    {
        MYSQL db;
        if (!mysql_connect(&db,"localhost","root",""))
        {
            cout << "mysql_connect";
            return 1;
        }
        if (!mysql_select_db(&db,"test"))
        {
            cout << "mysql_select_db";
            return 2;
        }
        if (!mysql_query(&db,"Select * from test"))
        {
            cout << "mysql_query()";
            return 3;
        }
        MYSQL_RES* res;
        MYSQL_ROW  row;
        if (!(res = mysql_store_result(&db)))
        {
            cout << "Fehler beim Speichern der Ergebnisse";
            return 4;
        }
    
        // Für jede gefundene Zeile
        while((row = mysql_fetch_row(res)))
        {
            // Für jede selektierte Spalte
            for (int i=0 ; i < mysql_num_fields(res); i++)
            {
                cout << row[i] << endl;
            }
        }
    
        // Resourcen freigeben.
        mysql_free_result(res);
        mysql_close(&db);
        cin.get();
        return 0;
    }
    

    fehler:
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\mysql_com.h(118): error C2146: syntax error : missing ';' before identifier 'fd'
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\mysql_com.h(118): error C2501: 'st_net::SOCKET' : missing storage-class or type specifiers

    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\mysql_com.h(118): error C2501: 'st_net::fd' : missing storage-class or type specifiers

    c:\Documents and Settings\georg\My Documents\Visual Studio Projects\mysqltest2\main.cpp(34): warning C4018: '<' : signed/unsigned mismatch



  • Deine Anwendung muss logischerweise auch Sockets unterstützen.

    [ Dieser Beitrag wurde am 24.02.2003 um 12:24 Uhr von Unix-Tom editiert. ]



  • wie stelle ich das ein? (VS.NET)



  • ich hab jetzt mal das mysql++ getestet, das sieht besser aus. aber da kommen auch fehler:

    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\coldata3.hh(18): error C2244: 'operator`unsigned __pascal &'' : unable to match function definition to an existing declaration
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\set3.hh(7): error C2954: template definitions cannot nest
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\resiter1.hh(30): error C2977: 'std::reverse_iterator' : too many template arguments
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\resiter1.hh(29): error C2977: 'std::reverse_iterator' : too many template arguments
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\resiter1.hh(30): error C2977: 'std::reverse_iterator' : too many template arguments
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\resiter1.hh(29): error C2977: 'std::reverse_iterator' : too many template arguments
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\resiter1.hh(30): error C2977: 'std::reverse_iterator' : too many template arguments
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\resiter1.hh(29): error C2977: 'std::reverse_iterator' : too many template arguments
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\resiter1.hh(30): error C2977: 'std::reverse_iterator' : too many template arguments
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\resiter1.hh(29): error C2977: 'std::reverse_iterator' : too many template arguments
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\convert1.hh(25): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\convert1.hh(43): warning C4244: '=' : conversion from 'long' to 'char', possible loss of data
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\convert1.hh(46): warning C4244: '=' : conversion from 'long' to 'short', possible loss of data
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\convert1.hh(44): warning C4244: '=' : conversion from 'long' to 'signed char', possible loss of data
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\convert1.hh(49): warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\convert1.hh(51): warning C4244: '=' : conversion from 'unsigned long' to 'unsigned short', possible loss of data
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\type_info1.hh(159): warning C4800: 'const unsigned int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\type_info1.hh(176): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\type_info1.hh(172): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\type_info1.hh(180): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\type_info1.hh(39): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\type_info1.hh(184): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)



  • include <AfxSocket.h>



  • ok jetzt geht das eine.
    weiß noch jemand wie ich bei mysql++ die fehler wegbekomme?



  • Ja.

    Einfach nicht nehmen und selbst eine Wrapperklasse schreiben oder meine verwenden.



  • noch ein problem:
    bei mir sagt er immer das er die datenbank "test" nicht finden kann, obwohl diese da ist! an was könnte das liegen?


Anmelden zum Antworten