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++/CLI Discussion :

problème c++ avec mysql


Sujet :

C++/CLI

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 103
    Points : 44
    Points
    44
    Par défaut problème c++ avec mysql
    bonjour

    je suis en train de monter une petite application qui permet de se connecter sur base de données MySql avec le langague C++
    voila mon code
    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
    71
    #include "stdafx.h"
    #include <conio.h>
    #include <winsock.h> 
    #include <mysql/mysql.h>
     
    int _tmain(int argc, _TCHAR* argv[])
    {
     
        MYSQL mysql;
        //mySQL = mysql_init(NULL);
           // mysql_init(&mysql);
            mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option");
     
            if(mysql_real_connect(&mysql,"127.0.0.1","root","","test",0,NULL,0))
                {
                //Déclaration des pointeurs de structure
                MYSQL_RES *result = NULL;
                MYSQL_ROW row = NULL;
     
                unsigned int i = 0;
                unsigned int num_champs = 0;
     
                printf("Lister le nombre de resultats :\n");
                //Requête qui sélectionne tout dans ma table ex_1
                mysql_query(&mysql, "SELECT * FROM ex_1");
                //On met le jeu de résultat dans le pointeur result
                result = mysql_use_result(&mysql);
                //Tant qu il y a encore un résultat ...
                while (( row =  mysql_fetch_row(result)))
                  {
                  printf("Resultat %ld\n", i);
                  i++;
                  }
     
                //Libération du jeu de résultat
                mysql_free_result(result);
     
    // Cette fois, on va lire les données
                printf("\nCette fois, on va lire les donnees :\n");
                //à nouveau la requête qui sélectionne tout dans ma table ex_1
                mysql_query(&mysql, "SELECT * FROM ex_1");
                result = mysql_use_result(&mysql);
                //On récupère le nombre de champs
                num_champs = mysql_num_fields(result);
                while (( row =  mysql_fetch_row(result)))
                  {
                  //On déclare un pointeur long non signé pour y stocker la taille des valeurs
                  unsigned long *lengths;
                  //On stocke cette taille dans le pointeur
                  lengths = mysql_fetch_lengths(result);
                  //On fait une boucle pour avoir la valeur de chaque champs
                  for(i = 0; i < num_champs; i++)
                    {
                    //On ecrit toutes les valeurs
                    printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
                    }
                  printf("\n");
                  }
     
                //Fermeture de MySQL
                mysql_close(&mysql);
                }
            else
                {
                printf("Une erreur s est produite lors de la connexion à la BDD!");
                }
     
      printf("\nAppuyez sur une touche\n");
      _getch();
      return 0;
    }
    et lorsque je veux compiler mon programme je reçois ce message:
    `MYSQL' undeclared (first use this function)

    alors que j'ai bien installé le connecteur C++/My Sql et j'ai copie les .lib et .h sur le répertoire de mon compilateur DEV-C++
    merci pour votre aide

  2. #2
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 103
    Points : 44
    Points
    44
    Par défaut
    j'ai pu compiler le programme mais maintenant j'ai ce message d'erreur

    linker error undefined reference to mysql_init

  3. #3
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par zaki_1982 Voir le message
    j'ai pu compiler le programme mais maintenant j'ai ce message d'erreur

    linker error undefined reference to mysql_init
    je pense qu'il te manque les option pour dire au linker d'utiliser les librairies mysql.



    En gros tu dois lui dire comment trouver la dll mysql.

    pour Gcc/g++ cela se fait avec les option -L pour spécifier le chemin des lib et -l pour spécifier le nom.

    Pour visual:
    Tu peux regarder le chapitre "Creating an application that references the dynamic link library."
    http://msdn.microsoft.com/fr-fr/library/ms235636.aspx

    http://msdn.microsoft.com/fr-fr/libr...=vs.71%29.aspx
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  4. #4
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 103
    Points : 44
    Points
    44
    Par défaut
    merci pour ta réponse j'ai pu réussir à se connecter par contre j'ai une autre demande
    sur ma requête sql je veux insérer des variables sur la table voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query(conn, "INSERT INTO collecte_login(uid1,matricule,uid2,ip,machine,date) VALUES ('0','100','0','10.0.0.1','mvpc','" + a1 + "'));
    et lorsque je lance mon exe voila le message d'errure que j'ai
    invalid operands of types `const char[106]' and `char[64]' to binary `operator+'
    a1 est un variable de type char [64].

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 071
    Points : 12 116
    Points
    12 116
    Par défaut
    On ne somme pas des tableaux de char.
    Utilisez des std::string.

  6. #6
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 103
    Points : 44
    Points
    44
    Par défaut
    ça marche merci pour ton aide
    j'ai une autre demande est ce qu'il y a une fonction qui permet de récupérer l'adresse ip local?

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 071
    Points : 12 116
    Points
    12 116
    Par défaut
    "127.0.0.1" ou "localhost"
    si vous vous compliquez la vie
    http://stackoverflow.com/questions/1...local-computer

  8. #8
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 103
    Points : 44
    Points
    44
    Par défaut
    c'est résolu avec la fonction strcat

  9. #9
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par zaki_1982 Voir le message
    ça marche merci pour ton aide
    j'ai une autre demande est ce qu'il y a une fonction qui permet de récupérer l'adresse ip local?
    pour avoir le nom de la machine tu as gethostname ensuite avec ce nom tu peux récupérer l'adresse ip avec gethostbyname.
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème accent avec MySQL
    Par fangri dans le forum JDBC
    Réponses: 1
    Dernier message: 15/01/2010, 14h40
  2. Problème arabe avec mysql
    Par a_me dans le forum Installation
    Réponses: 14
    Dernier message: 01/02/2008, 19h28
  3. Problème Sunopsis avec MySQL
    Par Crystalle dans le forum Alimentation
    Réponses: 6
    Dernier message: 23/11/2007, 09h33
  4. problème update avec mysql
    Par opeo dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 23/03/2007, 11h30
  5. gros problème tomcat avec mysql
    Par filipe93 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 26/11/2006, 14h02

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