kostenloser Webspace werbefrei: lima-city


MySQL mit C++ (Plattformübergreifend)

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    c***************y

    Hallo,

    ich möchte aus einem C++-Programm Daten aus einer MySQL-Datenbank abrufen.
    Es sollen zwei SELECT-Befehle ausgeführt werden, die aus 2 verschiedenen Tabellen einer Datenbank alle Datensätze auslesen.
    Ich habe jetzt mehrere Stunden herumprobiert (verschiedene Bibliotheken)

    Ich benutze MS VC++ 2008 Express. Zusätzlich soll das Projekt aber auch unter Linux mit dem g++ kompiliert werden. Kann mir jemand helfen, das hinzubekommen, das ich funktionierenden Code habe, den ich unter beiden Betriebssystemen laufen lassen kann.
    Wäre nett, wenn mir jemand auch sagt, welche Parameter ich für den g++ brauche.

    Zur Zeit habe ich das hier hinbekommen, es gibt unter VC2008 keine Probleme, aber der g++ macht nicht mit und ich habe auch ekine Ahnung, wie ich jetzt Daten auslesen.
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <winsock2.h>
    #include <winsock.h>
    #include <string>
    #include "mysql.h"
    #pragma comment(lib,"libmysql.lib")
    using namespace std;
    
    MYSQL *mysql;
    
    void check_error();
    
    int main(){
    	mysql=mysql_init(mysql);
    	check_error();
    
    	mysql_real_connect(mysql,"localhost","root","brianumsql",NULL,0,NULL,0);
    	check_error();
    
    	mysql_select_db(mysql,"mars_test");
    	check_error();
    
    	mysql_close(mysql);
        return 1;
    }
    
    void check_error(){
    	if(mysql_errno(mysql)!=0){
    		cout<<"Fehler: "<<mysql_error(mysql)<<endl;
    	}
    }
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.

    Also unter Ubuntu musst du als erstes das Paket "libmysqlclient-dev" installieren:
    sudo apt-get install libmysqlclient-dev

    Danach musst du deinen Code ein wenig anpassen:
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string>
    #include <mysql/mysql.h>
    using namespace std;
    [...]
    Damit es auf Windows und Linux kompiliert, musst du wahrscheinlich mit #ifdef _WIN32 oder sowas arbeiten.

    Kompiliert wird dann so:
    g++ -lmysqlclient code.cpp


    Wie du mit der MySQL Library dann genau umgehst steht z.B. hier: http://dev.mysql.com/doc/refman/5.0/en/c.html

    Beitrag zuletzt geändert: 4.11.2009 5:09:27 von kochmarkus
  4. q*****4

    Hi,

    ich habe die libmysql im Produktiven Einsatz, die LIb funktioniert echt gut. Aber leider kann ich auch nur für SuSE Enterprise reden. Unter Win hab ich sie noch nicht kompiliert.
  5. ich hab dazu eine frage sind die mysql db von lima-city für externen zugriff freigegeben?
  6. c-sharp schrieb:
    ich hab dazu eine frage sind die mysql db von lima-city für externen zugriff freigegeben?

    Hallo,

    bitte erstelle in Zukunft für eigenenständige Fragen ein eigenes Thema. Deine Frage hat schließlich nichts mit C/C++ zu tun.
    Und ja, man kann von anderen Servern aus auch auf die lima Datenbanken zugreifen.
  7. OK werd ich machen.ich hatte mir nur gedacht wenn man vom pc aus zugreifen möchte greift man ja auch extern zu. Und das war für mich ein problem den die meisten hoster haben den externen zugriff gesperrt.
  8. e********e

    Hallo,

    ich würde generell für den Plattformübergreifenden Einsatz das Framework Qt verwenden. Da gibt es auch ein QtMysql-Modul, mit dem wirklich alles machen kann. Ich habe damit schon oft gearbeitet und bin sehr zufrieden.

    Errorforce
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!