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 API MYSQL


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    �tudiant
    Inscrit en
    Juin 2009
    Messages
    66
    D�tails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par d�faut Probl�me de compilation API MYSQL
    Bonjour a tous,

    Je me trouve confront� a une erreur que je ne connai pas et que je n'ai jamais vu.


    Voici mon code de l'API :

    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
    MYSQL *conn;
     
                         MYSQL_RES *res;
     
                         MYSQL_ROW row;
     
                         char *server = "localhost";
                         char *user = "thanks";
                         char *password = "thanks";
                         char *database = "***";
     
                         conn = mysql_init(NULL);
     
     
                         if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) 
                         {
                            fprintf(stderr, "%s\n", mysql_error(conn));
                            return(0);
                         }
     
                         string adresse_ip = inet_ntoa(serveur->sin.sin_addr);
                         char sql_query[1000];
                         sprintf(sql_query, "INSERT INTO `historique` (`ID_HISTORIQUE` ,`NOM_SERVEUR` ,`IP_DU_SERVEUR` ,`TYPE_SERVEUR` ,`NOM_APPLICATION` ,`CODE_APPLI` ,`BASILICAT` ,SOUS_BASILICAT` ,`NOM_FLUX` ,`NOM_BASE` ,`NOM_FS` ,`NOM_PROC` ,`NOM_BATCH` ,`NOM_TBS` ,`NOM_SAUVEGARDE` ,`DATE_HEURE` ,`ETAT_SERVEUR` ,`PROBLEME_SCRIPT` ,`FS` ,`PROC` ,`BATCH` ,`TBS` ,`BASE` ,`FLUX` ,`SAUVEGARDE`) VALUES (NULL , NULL, '%s', NULL, NULL, NULL, NULL, NULL, '%s', '%s', '%s', '%s', '%s', '%s', '%s', NULL, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",adresse_ip, flux,base,fs,proc,batch,tbs,save,etat_serveur,etat_fs,etat_proc,etat_batch,etat_tbs,etat_base,etat_flux,etat_save);
     
                          if (mysql_query(conn, sql_query))
                          {
                             fprintf(stderr, "%s\n", mysql_error(conn));
                             return(0);
                          }
     
     
                          cout<< "Insertion réussi"<<endl;
     
     
     
     
                         mysql_close(conn);

    Voici les variables :

    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
    string etat_save;
      string save;
      string base;
      string etat_base;
      string ligne;
      string etat_flux;
      string flux;
      string etat_tbs;
      string tbs;
      string etat_proc;
      string proc;
      string etat_batch;
      string batch;
      string etat_fs;
      string fs;
    L'erreur de compilation est :

    cannot pass objects of non-POD type `struct std::string' through `...'; call will abort at runtime

    Cordialement

  2. #2
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Visiblement, dans une ellipse (...), tu ne peux passer que des structures pleines, pas des classes.

    essaye :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    sprintf(sql_query,
                      "INSERT INTO `historique` (`ID_HISTORIQUE` ,`NOM_SERVEUR` ,`IP_DU_SERVEUR` ,`TYPE_SERVEUR` ,`NOM_APPLICATION` ,`CODE_APPLI` ,`BASILICAT` ,SOUS_BASILICAT` ,`NOM_FLUX` ,`NOM_BASE` ,`NOM_FS` ,`NOM_PROC` ,`NOM_BATCH` ,`NOM_TBS` ,`NOM_SAUVEGARDE` ,`DATE_HEURE` ,`ETAT_SERVEUR` ,`PROBLEME_SCRIPT` ,`FS` ,`PROC` ,`BATCH` ,`TBS` ,`BASE` ,`FLUX` ,`SAUVEGARDE`)
                      VALUES (NULL , NULL, '%s', NULL, NULL, NULL, NULL, NULL, '%s', '%s', '%s', '%s', '%s', '%s', '%s', NULL, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
                      adresse_ip.c_str(), flux,base,fs,proc,batch,tbs,save,etat_serveur,etat_fs,etat_proc,etat_batch,etat_tbs,etat_base,etat_flux,etat_save);
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirm�
    Profil pro
    �tudiant
    Inscrit en
    Juin 2009
    Messages
    66
    D�tails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par d�faut
    merci pour ta r�ponse,

    malheureusement d'autres erreurs apparaissent

    les voici :

    no matching function for call to `sprintf(std::string[1000], const char[510], const char*, std::string&, std::string&, std::string&, std::string&, std::string&, std::string&, std::string&, char*&, std::string&, std::string&, std::string&, std::string&, std::string&, std::string&, std::string&)'
    note : int sprintf(char*, const char*, ...)
    cannot convert `std::string*' to `const char*' for argument `2' to `int mysql_query(MYSQL*, const char*)'
    Cordialement

  4. #4
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Les messages d'erreurs sont pourtant clairs, il ne veut pas du ype string, il veut des char * ou des const char *.

    Partout o� tu utilises des strings (dans ces appels), il faut extraire la chaine de caract�res en faisant string.c_str()
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre confirm�
    Profil pro
    �tudiant
    Inscrit en
    Juin 2009
    Messages
    66
    D�tails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par d�faut
    donc si j'ai bien compris, la requ�te devra ressembler a cela :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     sprintf(sql_query, "INSERT INTO `historique` (`ID_HISTORIQUE` ,`NOM_SERVEUR` ,`IP_DU_SERVEUR` ,`TYPE_SERVEUR` ,`NOM_APPLICATION` ,`CODE_APPLI` ,`BASILICAT` ,SOUS_BASILICAT` ,`NOM_FLUX` ,`NOM_BASE` ,`NOM_FS` ,`NOM_PROC` ,`NOM_BATCH` ,`NOM_TBS` ,`NOM_SAUVEGARDE` ,`DATE_HEURE` ,`ETAT_SERVEUR` ,`PROBLEME_SCRIPT` ,`FS` ,`PROC` ,`BATCH` ,`TBS` ,`BASE` ,`FLUX` ,`SAUVEGARDE`) VALUES (NULL , NULL, '%s', NULL, NULL, NULL, NULL, NULL, '%s', '%s', '%s', '%s', '%s', '%s', '%s', NULL, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",adresse_ip.c_str(), flux.c_str(),base.c_str(),fs.c_str(),proc.c_str(),batch.c_str(),tbs.c_str(),save.c_str(),etat_serveur.c_str(),etat_fs.c_str(),etat_proc.c_str(),etat_batch.c_str(),etat_tbs.c_str(),etat_base.c_str(),etat_flux.c_str(),etat_save.c_str());
    il me dit comme erreur :

    `c_str' has not been declared
    Pourtant j'ai bien la librairie
    request for member of non-aggregate type before '(' token
    cannot convert `std::string*' to `const char*' for argument `2' to `int mysql_query(MYSQL*, const char*)'
    Cordialement

  6. #6
    Membre confirm�
    Profil pro
    �tudiant
    Inscrit en
    Juin 2009
    Messages
    66
    D�tails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 66
    Par d�faut
    �a va faire 5h que j'essaye de d�bug le programme, je n'y arrive pas aidez moi s'il vous plait


    Cordialement

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me sur las API MySql - fonction manquante
    Par boopix dans le forum C++Builder
    R�ponses: 1
    Dernier message: 15/04/2007, 20h55
  2. Probl�me utilisation API MySQL
    Par naiko dans le forum C
    R�ponses: 4
    Dernier message: 11/05/2006, 09h55
  3. compilation api mysql c
    Par nestam dans le forum C
    R�ponses: 4
    Dernier message: 04/10/2005, 09h11
  4. (Probl�me) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de donn�es
    R�ponses: 2
    Dernier message: 08/08/2005, 18h26
  5. Api mysql avec Devc++, erreur de compilation
    Par Viiince dans le forum Autres �diteurs
    R�ponses: 5
    Dernier message: 15/06/2004, 17h19

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