C++ und mySQL



  • Ich schlage vor, du machst erst mal den Syntaxfehler weg. 😃



  • also ich finde, dass man vorallem datenbanken sehr schön selber coden kann.
    solange du keinen text variabler länge abspeichern must, kannst du dir ne struktur für alle werte basteln, und diese dann immer ans ende der datenbank Datei anhängen.
    wenn du einen text hast, speicherst du zuerst alle nicht textwerte inklusive der länge des textes in einen header,schreibst den zuerst ans ende der datei, gefolgt vom dem eigentlichen text.
    dann schreibste dir ne lese funktion, eine schreibe funktion und eine such funktion, dann hast du das wichtigste,und dann musste dich nicht so durch die implementation der mysql datenbank quälen..



  • Welchen Syntaxfehler??

    Das Programm ist so original von der MySQL Seite downgeloaded, wie kann da ein Syntaxfehler drin sein??

    Gruß

    Frostie



  • @otze

    Genau so hätte ich mir das gedacht.

    Aber ich bekomme leider die Connection an sich nicht hin, habt Ihr da vielleicht ein Beispiel?

    Das mit den Abfragen und so krieg ich schon hin, aber die Verbindung hackt echt.

    Danke für eure Hilfe.

    Gruß
    Frostie



  • hallo
    zum einen hat das NULL mit c++ zu tun, da windows spezifisch 😉

    zum zweiten: wenn man eine api benutzen will, muss man ZWINGEND die infos dazu lesen. die werden bei der mysql c++ api auch mitgeliefert.

    bei mir läuft sie im studio einwandfrei.

    du musst die .obj files erstmal herstellen, wenigstens war das vor einer zeit so.

    danach ! kannst du dann deine mitgelierferten beispiele ausführen, und sie werden gehen (mit templatewarnungen, die dich nicht aus der fassung bringen sollten).

    vergiss nicht, den server laufen zu haben. und READ THE MANUAL.

    oder benutzt ihr neue elektrogeräte auch, ohne vorher die gebrauchsanweisung zu lesen?



  • ps: übrigens ist nur ein fehler dabei, daß andere sind nur warnungen!



  • elise schrieb:

    hallo vergiss nicht, den server laufen zu haben. und READ THE MANUAL.

    Apropos server, ist das der selbe der bei xampp dabei ist?



  • jo

    mysql ist mysql 😉

    hoffentlich wird der thread bald in die richtige rubrik verschoben.. es gibt hier massen, die mit der mysql++ und der mysql c api arbeiten.

    apropo: ich würde lieber meinen compiler nicht vollmüllen mit irgendwelchen libs und includedateien. der compiler sollte m.B. möglichst "sauber" bleiben.

    man kann in jedem compiler die entsprechenden headerpfade dazulegen und die libs dazulinken. sonst wäre es ja grausig.. meine 4 compiler wären voll datenmüll.



  • Hallo,

    wie soll ich die obj erstellen?

    xampp?? Was ist das?

    Der Server läuft, aber woher weiß eigentlich das C++ Programm den User und Kennwort?

    Gruß

    Frostie



  • du hast doch wohl die api runtergezogen?

    beim ersten starten des dsw. außerhalb von allen anderen ordnern bilden sich die benötigten obj.
    und eine lib.

    danach kannst du dann mal die mfc beispiele testen.

    und dann kannst du anfangen, selber zu coden.

    was ich dir rate? mach erstmal den kleinen fußweg.

    nimm die c-api, die ist nett, übersichtlich, und hat keine templatewarnungen. damit schau erstmal, wie du klar kommst.
    folgende lib mitlinken:
    libmySQL.lib
    includepfad zusätzlich auf die ordner der mysql.h setzen.

    so long

    #include <stdio.h>
    #include <windows.h>
    #include "mysql.h"
    
    int main ()  {
        MYSQL_RES *mTabelle;
        MYSQL_ROW mRecord;
        MYSQL *mConnection, mDB;
        int mError;
        mysql_init(&mDB);
    
    	 mConnection =mysql_real_connect(&mDB,"localhost","root","","test",0,0,0);
        if (mConnection == NULL)  {
            printf("Es konnte keine Verbindung zur Datenbank hergestellt werden");
            return 1;
        } else {
     printf("Es wurde erfolgreich eine Verbindung hergestellt!");
        }
        mysql_close(mConnection);
        return 0;
    }
    

    ps: damit du einen überblick bekommst, was alles nötig ist. danach kannst du dich ja irgendwann nochmal an die mysql++ wagen.



  • Hallo,

    ich bekomme immer einen fehler aus der WinUser.h:

    WINUSERAPI
    BOOL
    WINAPI
    EnumDis&SKS±Qþ{ã&S±Qþ{ã&S IN LPCWSTR lpszDeviceName,
        IN DWORD iModeNum,
        OUT LPDEVMODEW lpDevMode);
    #ifdef UNICODE
    #define EnumDisplaySettings  EnumDisplaySettingsW
    #else
    #define EnumDisplaySettings  EnumDisplaySettingsA
    #endif // !UNICODE
    

    Da steht der Schrott mit diesen Sonderzeichen drin, ist das ok?

    Gruß
    Frostie

    [edit = kingruedi]sfds[/edit]



  • frostie schrieb:

    Welchen Syntaxfehler??

    Dieser Syntaxfehler.

    c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinUser.h(10174): error C2143: Syntaxfehler: Es fehlt ';' vor '&'



  • Hallo,

    ja das ist diese Zeile

    EnumDis&SKS±Qþ{ã&S±Qþ{ã&S IN LPCWSTR lpszDeviceName,
    

    Ich glaube die Sonderzeichen sind falsch!

    Gruß
    Frostie



  • niemals... außer du weißt genau was du tust.. aber auch nur dann!!! ändere was in compilerheadern. *uff*

    du hast meiner erfahrung nach einfach die header verkehrtrum includiert.

    zuerst die windows.h
    dann die anderen.

    so long.



  • Hallo,

    ich hab genau das gemacht was Du gesagt hast, zuerst die .dsw ausführen, aber leider kommt da schon der Fehler aus der WinUser.h.

    Da habe ich noch keine Daten von mir geschrieben!

    Gruß
    Frostie



  • ich sehe, du hast das studio.net

    mysql++ ist optimiert für visual studio 6

    muss man sich mal kundig machen, ob es überhaupt unter 7 läuft.

    so, kundig gemacht:

    # MySQL++ 1.7.1 for Microsoft Visual C++ 6.0 (contributed by LazyFox lazyfox@foxden.dhs.org)
    # A Patch for MySQL++ for use with the STLport-4.0 library (contributed by Bert Hubert ahu@ds9a.nl)

    tja, pech

    ps: dir bleibt die c - api, und die kannst du selber wräppen, oder unix-tom hat einen wrapper geschrieben, frag ihn, ob er unter dem studio.net läuft.



  • Ach, die WinUser.h ist gar nicht von dir? Na dann, sorry.



  • Also danke trotzdem für die Hilfe,

    ich glaub ich warte, bis es mal ne anständige API für VC7 gibt.

    Gruß
    Frostie



  • wenn du ne anständige 😉 willst, wrapp dir die c-api selber.



  • Hallo,

    also das Programm von Dir:

    #include <windows.h>
    #include <stdio.h> 
    
    #include "mysql.h" 
    
    int main ()  { 
        MYSQL_RES *mTabelle; 
        MYSQL_ROW mRecord; 
        MYSQL *mConnection, mDB; 
        int mError; 
        mysql_init(&mDB); 
    
         mConnection =mysql_real_connect(&mDB,"localhost","root","","test",0,0,0); 
        if (mConnection == NULL)  { 
            printf("Es konnte keine Verbindung zur Datenbank hergestellt werden"); 
            return 1; 
        } else { 
     printf("Es wurde erfolgreich eine Verbindung hergestellt!"); 
        } 
        mysql_close(mConnection); 
        return 0; 
    }
    

    greift auch auf die WinUser.h zu und erzeugt den gleichen Fehler!

    Gruß
    Frostie


Anmelden zum Antworten