[C/C++] C++ und MySQL

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von CodiX, 15. November 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 15. November 2007
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    C++ und MySQL

    Moin Jungs,

    Ich habe folgendes Problem :

    Ich werde C++ lernen hab mir schon ein Buch gekauft und dieverse Internet tutorials durch gearbeitet
    da ich aber auch noch Datenbanken mit einbinden will sprich MySQL habe ich danach gegooglt..

    zu den Daten : Ich habe Dev-C++ 4.9.9.2

    zu dem Problem :

    habe da so ein anfangs Programm erstellt so das es mir sagt ob er zur Datenbak Connecten kann oder nicht.. ^^ :

    Code:
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string>
    #include <"C:\Programme\MySQL\MySQL Server 5.0\include\mysql.h">
    #include <Database.h>
    #include <Query.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
     if(mysql_real_connect("localhost","mylogin","mypw","test_db")
     {
     cout<<"Connection was successful!";
     }
     else
     {
     cout<<"Connection was not successful!";
     }
     
     system("PAUSE");
     return EXIT_SUCCESS;
    }
    das Problem kommt schom beim Compilen :
    error.png
    {img-src: //i22.photobucket.com/albums/b301/s4mm1/error.png}


    Da ich noch keine wirkliche ahnung davon habe würde ich euch fragen woran das Problem liegt..
    bei google bin ich nur fündig geworden das ich Database.h und mysql.h einbinden soll.. aber wie mans sieht klappts einfach nicht ;(

    wäre für jede hilfe dankbar

    mfg CodiX
     
  2. 15. November 2007
    AW: C++ und MySQL

    probier mal nur

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

    und mach noch deine Klammer bei der if zu..
     
  3. 15. November 2007
    AW: C++ und MySQL

    danke für die schnelle antwort =)

    aber funzen tuts immer noch net

    das dann jetzt mein code.. :
    Code:
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string>
    #include <"C:\Programme\MySQL\MySQL Server 5.0\include\mysql.h">
    #include <Database.h>
    #include <Query.h>
    
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
     if(DB Database("localhost","mylogin","mypw","test_db"))
     {
     cout<<"Connection was successful!";
     }
     else
     {
     cout<<"Connection was not successful!";
     }
     
     system("PAUSE");
     return EXIT_SUCCESS;
    }
    fehler meldung :

    Code:
    Compiler: Default compiler
    Building Makefile: "D:\Programmieren\C++\Test 5\Makefile.win"
    Executing make...
    make.exe -f "D:\Programmieren\C++\Test 5\Makefile.win" all
    g++.exe -c main.cpp -o main.o -I"D:/Programme/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"D:/Programme/Dev-Cpp/include/c++/3.4.2/backward" -I"D:/Programme/Dev-Cpp/include/c++/3.4.2/mingw32" -I"D:/Programme/Dev-Cpp/include/c++/3.4.2" -I"D:/Programme/Dev-Cpp/include" 
    
    main.cpp:6:65: D:/Programme/Dev-Cpp/lib/gcc/mingw32/3.4.2/include/"C:\Programme\MySQL\MySQL Server 5.0\include\mysql.h": Invalid argument
    In file included from main.cpp:7:
    D:/Programme/Dev-Cpp/include/Database.h:84: error: `MYSQL' does not name a type
    
    In file included from main.cpp:8:
    D:/Programme/Dev-Cpp/include/Query.h:68: error: ISO C++ forbids declaration of `MYSQL_RES' with no type
    D:/Programme/Dev-Cpp/include/Query.h:68: error: expected `;' before '*' token
    D:/Programme/Dev-Cpp/include/Query.h:74: error: `MYSQL_ROW' does not name a type
    D:/Programme/Dev-Cpp/include/Query.h:76: error: `my_ulonglong' does not name a type
    D:/Programme/Dev-Cpp/include/Query.h:126: error: ISO C++ forbids declaration of `MYSQL_RES' with no type
    D:/Programme/Dev-Cpp/include/Query.h:126: error: expected `;' before '*' token
    D:/Programme/Dev-Cpp/include/Query.h:127: error: `MYSQL_ROW' does not name a type
    
    main.cpp: In function `int main(int, char**)':
    
    main.cpp:15: error: `DB' undeclared (first use this function)
    main.cpp:15: error: (Each undeclared identifier is reported only once for each function it appears in.)
    main.cpp:15: error: expected `)' before "Database"
    
    make.exe: *** [main.o] Error 1
    
    Execution terminated
    
     
  4. 15. November 2007
    AW: C++ und MySQL

    Wieso machst du nicht das, was man dir sagt?
     
  5. 15. November 2007
    AW: C++ und MySQL

    ich habs probiert aber es geht nicht ! :baby:

    mfg CodiX
     
  6. 15. November 2007
    AW: C++ und MySQL

    main.cpp:6:65: D:/Programme/Dev-Cpp/lib/gcc/mingw32/3.4.2/include/"C:\Programme\MySQL\MySQL Server 5.0\include\mysql.h": Invalid argument

    stimmt denn der Pfad überhaupt?


    haste ggf. Vista? da heißts vielleicht Program Files
     
  7. 15. November 2007
    AW: C++ und MySQL

    ne hab XP Pro X86 SP2

    Jo danke das hat schon ein Paar fehler ausgemerzt ^^
    habe die den inhalt vom include ornder der im mysql server ordner liegt in den include ordner von dev-C++ rein kopiert ^^

    also sind die include's jetzt:
    Code:
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string>
    #include <mysql.h>
    #include <Database.h>
    #include <Query.h>
    Der jetzige fehler bericht :
    Code:
    Compiler: Default compiler
    Building Makefile: "D:\Programmieren\C++\Test 5\Makefile.win"
    Executing make...
    make.exe -f "D:\Programmieren\C++\Test 5\Makefile.win" all
    g++.exe -c main.cpp -o main.o -I"D:/Programme/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"D:/Programme/Dev-Cpp/include/c++/3.4.2/backward" -I"D:/Programme/Dev-Cpp/include/c++/3.4.2/mingw32" -I"D:/Programme/Dev-Cpp/include/c++/3.4.2" -I"D:/Programme/Dev-Cpp/include" 
    
    In file included from D:/Programme/Dev-Cpp/include/mysql.h:68,
    
     from main.cpp:6:
    D:/Programme/Dev-Cpp/include/mysql_com.h:183: error: `SOCKET' does not name a type
    
    D:/Programme/Dev-Cpp/include/mysql_com.h:358: error: `SOCKET' was not declared in this scope
    D:/Programme/Dev-Cpp/include/mysql_com.h:358: error: expected primary-expression before "const"
    D:/Programme/Dev-Cpp/include/mysql_com.h:358: error: expected primary-expression before "unsigned"
    
    D:/Programme/Dev-Cpp/include/mysql_com.h:359: error: expected primary-expression before "unsigned"
    D:/Programme/Dev-Cpp/include/mysql_com.h:359: error: initializer expression list treated as compound expression
    
    main.cpp: In function `int main(int, char**)':
    
    main.cpp:14: error: cannot convert `const char*' to `MYSQL*' for argument `1' to `MYSQL* mysql_real_connect(MYSQL*, const char*, const char*, const char*, const char*, unsigned int, const char*, long unsigned int)'
    oder muss man was spezielles installieren damit mysql und c++ kommuniezieren können -.- ?

    mfg CodiX
     
  8. 15. November 2007
    AW: C++ und MySQL

    winsock2.h/windows.h inkludieren, da du ja offentsichtlich SOCKET's benutzen willst.
     
  9. 15. November 2007
    AW: C++ und MySQL

    ja wunder herrlich jetzt sinds wieder weniger errors wird ja immer besser ^^

    Mein Code Jetzt :

    Code:
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <winsock2.h>
    #include <winsock.h>
    #include <string>
    #include <mysql.h>
    #include <Database.h>
    #include <Query.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
     if(mysql_real_connect("localhost","root","work07","test_db"))
     {
     cout<<"Connection was successful!";
     }
     else
     {
     cout<<"Connection was not successful!";
     }
     
     system("PAUSE");
     return EXIT_SUCCESS;
    }
    und der error log :

    Code:
    Compiler: Default compiler
    Building Makefile: "D:\Programmieren\C++\Test 5\Makefile.win"
    Executing make clean
    rm -f main.o "Test 5.exe"
    
    g++.exe -c main.cpp -o main.o -I"D:/Programme/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"D:/Programme/Dev-Cpp/include/c++/3.4.2/backward" -I"D:/Programme/Dev-Cpp/include/c++/3.4.2/mingw32" -I"D:/Programme/Dev-Cpp/include/c++/3.4.2" -I"D:/Programme/Dev-Cpp/include" 
    
    main.cpp: In function `int main(int, char**)':
    
    main.cpp:16: error: cannot convert `const char*' to `MYSQL*' for argument `1' to `MYSQL* mysql_real_connect(MYSQL*, const char*, const char*, const char*, const char*, unsigned int, const char*, long unsigned int)'
    
    make.exe: *** [main.o] Error 1
    
    Execution terminated
    mfg CodiX
     
  10. 15. November 2007
    AW: C++ und MySQL

    Wie wärs, wenn du dir die Mysql-Dokumentation mal anschaust?
    Da steht sicherlich geschrieben, dass du mysql_real_connect als 1. Parameter einen Pointer auf eine MYSQL-Struct übergeben musst, und nicht ein char*
     
  11. 15. November 2007
    AW: C++ und MySQL

    okay werde das heute abend mal durch gehen aber danke für die antwort =)

    mfg CodiX
     
  12. 15. November 2007
    AW: C++ und MySQL

    Buch kaufen & Doku lesen

    ~closed~

    Mfg,

    Kolazomai
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.