Problem beim einbinden von mysql in vc++



  • Hallo alle zusammen,
    ich will meine bereits bestehende MySQL Datenbank in VC++ einbinden.
    Beim kopilieren bekomme ich folgenden fehler, was mache ich falsch ??
    Hätte jemand evtl. einen vorschlag. Bin noch relativ neu auf dem Gebiet.

    c:\Programme\MySQL\MySQL Server 4.1\include\mysql_com.h(155) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'fd'
    c:\Programme\MySQL\MySQL Server 4.1\include\mysql_com.h(155) : error C2501: 'st_net::SOCKET': Fehlende Speicherklasse oder Typspezifizierer
    c:\Programme\MySQL\MySQL Server 4.1\include\mysql_com.h(155) : error C2501: 'st_net::fd': Fehlende Speicherklasse oder Typspezifizierer
    c:\Programme\MySQL\MySQL Server 4.1\include\mysql_com.h(299) : error C2065: 'SOCKET': nichtdeklarierter Bezeichner
    c:\Programme\MySQL\MySQL Server 4.1\include\mysql_com.h(299) : error C2146: Syntaxfehler: Fehlendes ')' vor Bezeichner 's'
    c:\Programme\MySQL\MySQL Server 4.1\include\mysql_com.h(300) : error C2059: Syntaxfehler: ')'
    

    Die Header Datei sieht so aus:

    #include <windows.h>
    #include <time.h>
    #include "stdio.h"
    #include <C:\Programme\MySQL\MySQL Server 4.1\include\mysql.h>
    #include "stdarg.h"
    #include "stdlib.h"
    
    class CSQLConnection
    {
    public:
    	CSQLConnection(){};
    	~CSQLConnection(){};
    
    	static int sconnect(void);
    
    };
    

    Die CPP so:

    #include "StdAfx.h"
    #include ".\sqltest.h"
    
    int CSQLConnection::sconnect(void)
    {
    
    	MYSQL_RES *mTabelle;
        MYSQL_ROW mRecord;
        MYSQL *mConnection, mDB;
        int mError;
        mysql_init(&mDB);
        mConnection = mysql_real_connect(&mDB,"localhost","root","","testdb",0,0,0); 
    	if (mConnection == NULL)  
    	{
            TRACE("Es konnte keine Verbindung zur Datenbank hergestellt werden: %s",mysql_error(&mDB));
            return 1;
        } 
    	else 
    	{
    		TRACE("Es wurde erfolgreich eine Verbindung hergestellt!");
        }
        mysql_close(mConnection);
        return 0; 
    }
    

    bitte um hilfe !!

    thx schonma im voraus 🙂



  • Ändere mal

    #include <C:\Programme\MySQL\MySQL Server 4.1\include\mysql.h>
    

    zu

    #include "C:\Programme\MySQL\MySQL Server 4.1\include\mysql.h"
    


  • @ guenni81

    Danke erstma an dich.

    Habe ich gemacht, aber tut sich nichts. genau das gleiche, bzw gleiche fehlermeldungen.

    Habe ich vielleicht irrgend eine Datei vergessen einzubinden oder so?
    Das Projekt läuft unter MFC.
    Vielleicht deswegen oder so?

    hat das irrgendwas mit mysql_com.h zutun evtl., wie's in der fehlermeldung steht?



  • Slawo schrieb:

    c:\Programme\MySQL\MySQL Server 4.1\include\mysql_com.h(155) : error C2501: 'st_net::SOCKET': Fehlende Speicherklasse oder Typspezifizierer
    c:\Programme\MySQL\MySQL Server 4.1\include\mysql_com.h(155) : error C2501: 'st_net::fd': Fehlende Speicherklasse oder Typspezifizierer

    Jo irgendwas ist da nicht eingebunden. Nur komisch, dass mysql_com.h das nicht selbst einbindet. Da ich aber auch kA habe, was das sein könnte sag ich nur: Viel Spaß beim Suchen! 😕



  • hilft dir sicher nicht weiter,
    aber ich kriege diese fehlermeldung,
    wenn ich
    #include <windows.h>
    vergesse.

    dito wenn ich
    #include "Afx.h"
    vorher mache,
    so wie du.

    sprich:
    ich weiß nicht,
    wie ich mysql.h mit mfc verwende...

    haksi



  • versuch mal unter das #include "StdAfx.h"
    #include <afxsock.h> zu setzen

    zu setzen



  • Nicht nur versuchen die Sockets zu aktivieren sondern es ist die fehlende Socketunterstützung in deiner Anwendung.

    Bei Projektanlegen hast du vergessen die Sockets zu aktivieren.



  • Hallo alle zusammen,

    BIG BIG THX 👍 erstma an alle, die geholfen haben. Habe das jetzt so gelöst, das ich mysql.h nich mehr von Hand includiere, sondern hab sofort nen Projekt mit DB-Unterstützung erstellt (MFC). Und wie man dort SQL-Statements aufruft, steht im folgenden Artikel: Variablen im SELECT Befehl

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-138017.html

    Gruß

    Slawo


Anmelden zum Antworten