Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > Visual C++ > C++/CLI
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/10/2012, 11h26   #1
zaki_1982
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 101
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 101
Points : 13
Points : 13
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 :
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
zaki_1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2012, 12h15   #2
zaki_1982
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 101
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 101
Points : 13
Points : 13
j'ai pu compiler le programme mais maintenant j'ai ce message d'erreur

linker error undefined reference to mysql_init
zaki_1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2012, 13h23   #3
jabbounet
Expert Confirmé
 
Avatar de jabbounet
 
Homme frederic frances
Consultant informatique
Inscription : juin 2009
Messages : 1 848
Détails du profil
Informations personnelles :
Nom : Homme frederic frances
Âge : 37

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : juin 2009
Messages : 1 848
Points : 2 675
Points : 2 675
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
jabbounet est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/10/2012, 17h15   #4
zaki_1982
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 101
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 101
Points : 13
Points : 13
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 :
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].
zaki_1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2012, 18h28   #5
bacelar
Expert Confirmé Sénior
 
Homme Paul Bacelar
Développeur informatique
Inscription : février 2005
Messages : 2 651
Détails du profil
Informations personnelles :
Nom : Homme Paul Bacelar
Âge : 41
Localisation : France

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

Informations forums :
Inscription : février 2005
Messages : 2 651
Points : 4 044
Points : 4 044
On ne somme pas des tableaux de char.
Utilisez des std::string.
bacelar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2012, 13h58   #6
zaki_1982
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 101
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 101
Points : 13
Points : 13
ç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?
zaki_1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2012, 15h37   #7
bacelar
Expert Confirmé Sénior
 
Homme Paul Bacelar
Développeur informatique
Inscription : février 2005
Messages : 2 651
Détails du profil
Informations personnelles :
Nom : Homme Paul Bacelar
Âge : 41
Localisation : France

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

Informations forums :
Inscription : février 2005
Messages : 2 651
Points : 4 044
Points : 4 044
"127.0.0.1" ou "localhost"
si vous vous compliquez la vie
http://stackoverflow.com/questions/1...local-computer
bacelar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2012, 12h56   #8
zaki_1982
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 101
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 101
Points : 13
Points : 13
c'est résolu avec la fonction strcat
zaki_1982 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2012, 16h33   #9
jabbounet
Expert Confirmé
 
Avatar de jabbounet
 
Homme frederic frances
Consultant informatique
Inscription : juin 2009
Messages : 1 848
Détails du profil
Informations personnelles :
Nom : Homme frederic frances
Âge : 37

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : juin 2009
Messages : 1 848
Points : 2 675
Points : 2 675
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
jabbounet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h28.


 
 
 
 
Partenaires

Hébergement Web