IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Probl�me de compilation Connector C++ (MySQL)


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Ing�nieur syst�mes et r�seaux
    Inscrit en
    Novembre 2010
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur syst�mes et r�seaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Par d�faut Probl�me de compilation Connector C++ (MySQL)
    Bonjour,

    Voila mon soucis, je n'arrive pas � r�utiliser un m�me pointeur MYSQL pour effectuer plusieurs diff�rentes requ�te.
    Car si je le r�utilise, mysql_query me retourne quelque chose diff�rent de 0 (ce qui veut dire que �a a �chou�).

    Je voulais donc savoir si je devais avant chaque nouvelle requ�te initialiser le pointeur avec mysql_init(NULL) avant chaque mysql_query ?
    Car j'ai essay�, et si je fait un delete de mon pointeur MYSQL puis que je r�initialise un nouveau pointeur MYSQL et que j'appel mysql_query avec ce nouveau pointeur, alors l�, tout fonctionne correctement mais j'aimerai avoir 1 seule connexion au serveur de la DB au lieu d'en faire une � chaque fois que je souhaite y acc�der :/

    Si vous avez besoin je peux laisser un bout de mon code ?

    Cordialement,

  2. #2
    Expert confirm�

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Software Developer
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par d�faut
    tu sembles utiliser la version C de mysqlclient, don je pense qu'il faut que tu mettes ta variable de connexion MYSQL en variable globale, ou membre statique de classe.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert � rien, mais qu'il est joli (des fois) : ProceduralGenerator (G�n�ration proc�durale d'images, et post-processing).

  3. #3
    Membre confirm�
    Profil pro
    Ing�nieur syst�mes et r�seaux
    Inscrit en
    Novembre 2010
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur syst�mes et r�seaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Par d�faut
    Arf, il est pr�f�rable que j'utilise la version C++ ? Si oui elle apporte de meilleurs perf' ?
    Je peux trouver la version C++ o� ? Elle s'installe aussi facilement que celle pour le C ?

  4. #4
    Membre �prouv�
    Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Juillet 2002
    Messages
    121
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 121
    Par d�faut
    Bonjour,

    Perso j'ai defini ca de la mani�re suivante et aucun problemes

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    public:
     
        string DATABASE;            // Nom de la base de donnée utilisée
     
        string USER;                // Nom d'utilisateur
     
        string HOST;                // Serveur auquel la classe doit se connecter
     
        string PASSWORD;            // Mot de passe utilisé
     
        char *socket_name;          // Nom de la socket
     
        int flags;                  // Flags specifiques MySQL
     
        int port;                   // Pport utilisé
     
        int nb_rows;                // Nombre de lignes retournées par la requete SELECT
     
        int nb_rows_affected;       // Nombre de lignes retournées par les requetes UPDATE,DELETE,REPLACE,INSERT
     
        int nb_colonnes;            // Nombre de colonne du resultat
     
        map<string, char*> Record;  // Contient les enregistrement en cours 
     
        vector<string> Fields;      // Contient la liste des champs
     
     
     
        // Constructeur et destructeur.
     
        MysqlConnexion();    
     
        MysqlConnexion(string host,string user,string pwd);    
     
        ~MysqlConnexion(void);
     
     
     
     
     
        bool Select_DB(string db);
     
        bool Connect();
     
        bool Close();
     
        bool Next();
     
        bool Query(string query);
     
        //bool DoQuery(char *query);
     
     
     
     
     
    private:
     
        // Handle a la connection mysql
     
        MYSQL *con;
     
        bool connected;
     
        MYSQL_ROW	row;
     
        MYSQL_RES 	*res_set;
     
        MYSQL_FIELD	*field;


    Cordialement

  5. #5
    Membre confirm�
    Profil pro
    Ing�nieur syst�mes et r�seaux
    Inscrit en
    Novembre 2010
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur syst�mes et r�seaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Par d�faut
    Bon, faisant du C++, je me suis dit que ca serait bien d'utiliser le Connector mysql C++...

    J'ai install� (enfin, j'ai essay�) le connector C++ avec l'install. J'ai essay� de linker du mieux possible avec Code::Blocks tout les .lib du fichier Mysql C++ Connector. J'ai aussi linker tout les fichier include/debug, include/opt et lib.

    Mais quand je fais les include pour tester si les link sont ok, j'ai pleins d'erreurs et de warning :s

    Les voici,

    Quand je fait ces includes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    #include <driver.h>
    #include <connection.h>
    #include <metadata.h>
    #include <resultset_metadata.h>
    #include <exception.h>
    #include <warning.h>
    J'obtient ceci en warning :

    ignoring #pragma warning dans le fichier warning.h et exception.h


    Mais pire ! Quand je rajoute ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    #include <statement.h>
    #include <prepared_statement.h>
    #include <resultset.h>
    J'obtiens des erreurs de compilations, en voici quelques unes :
    c:\program files\codeblocks\mingw-4.4\bin\..\lib\gcc\mingw32\4.4.0\..\..\..\..\include\stdint.h|27|error: 'int8_t' has a previous declaration as 'typedef signed char int8_t'|

    C:\Program Files\MySQL\MySQL Connector C++ 1.0.5\include\cppconn\config.h|75|error: conflicting declaration 'typedef long int int32_t'|

    c:\program files\codeblocks\mingw-4.4\bin\..\lib\gcc\mingw32\4.4.0\..\..\..\..\include\stdint.h|32|error: 'uint32_t' has a previous declaration as 'typedef unsigned int uint32_t'|
    A noter que j'utilise aussi la SMFL 1.6 et je suis sous Windows 7, j'utilise la derni�re version de Gcc (4.4.0). Et la derni�re version de Mysql.

    Savez-vous ce que j'ai fait de mal ? =x Ai-je mal linker ? Si oui, il faut que je link quoi seulement ? Et il faut que je change quoi ?

    Merci,

  6. #6
    Membre confirm�
    Profil pro
    Ing�nieur syst�mes et r�seaux
    Inscrit en
    Novembre 2010
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur syst�mes et r�seaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Par d�faut
    J'ai cru lire qu'il fallait compiler soit m�me certain fichier ??!!

    Moi j'ai juste lancer l'install, et linker les chemins vers C:....\mysqlConnecotr\include
    et
    C:....\mysqlConnecotr\lib

    Personne pour m'aider ? :/



    NOTE : J'utilise code::blocks sous windows et mingw avec gcc4.4.0

    Quelqu'un ayant d�j� r�ussi � utiliser ce Connector sous windows et/ou code::blocks peut me dire comment il a fait svp ?


    EDIT :

    Apparemment, il y a beaucoup de probl�me avec ce Connector et les autres IDE (mis � par VC ++...)
    --> http://stackoverflow.com/questions/3...-compile-error
    Donc je vais essay� de switcher sur mysql++, qui m'a d'ailleurs l'air encore plus compliqu� � installer :s

Discussions similaires

  1. Probl�me de compilation API MYSQL
    Par thanks33 dans le forum D�buter
    R�ponses: 8
    Dernier message: 29/06/2009, 13h06
  2. Probl�me de connexion au serveur MYSQL
    Par ETOKA dans le forum Outils
    R�ponses: 2
    Dernier message: 27/11/2003, 09h28
  3. R�ponses: 1
    Dernier message: 29/10/2003, 12h16
  4. Probl�me de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    R�ponses: 2
    Dernier message: 16/04/2003, 16h46
  5. R�ponses: 1
    Dernier message: 27/05/2002, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo