begin process at 2012 02 13 13:49:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > CONNEXION À UNE BASE DE DONNÉES MYSQL À L'AIDE DE VISUAL C++

CONNEXION À UNE BASE DE DONNÉES MYSQL À L'AIDE DE VISUAL C++


 Information sur la source

Note :
Aucune note
Catégorie :Base de données Classé sous :mysql, c, basededonnées Niveau :Débutant Date de création :14/02/2007 Vu / téléchargé :16 727 / 4 891

Auteur : kimmp

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

MySQL—Visual C++ :
Ce document a pour but de montrer comment exploiter une connexion à une base de données mySQL, en utilisant uniquement l'API fournie avec mySQL au travers d'une application écrite en C++ sous Windows, à l'aide de Visual C++.

Configuration requise :
Ce document se basera sur une petite application exemple écrite avec Visual C++ 6.0 et exploitant une connexion à une base de données MySQL version 5.0.27. L'application exemple peut attaquer des bases MySQL qui résident soit sur la machine locale, soit sur un serveur à travers le réseau (Windows ou Linux) . Dans les deux cas, il faut toujours avoir les bibliothèques clientes et fichiers inclus de MySQL d’une installation MySQL sous Windows  qui faudra ajouter à Visual C++.
Configuration de Visual C++ pour MySQL.
Premièrement il faut copier les fichiers du répertoire  $MYSQL_HOME\include\*.*   d’une installation MYSQL sous Windows et les coller dans le répertoire des   \include\    de Visual C++, par la suite il faut  copier le fichier $MYSQL_HOME\lib\opt\libmysql.lib et le coller dans le repertoire \lib\ de Visual C++. A ce niveau si en écrit du code dont on insere des fonctions de l’API MySQL la compilation réussira mais on aura échec dans phase édition des liens(Link error).

Linking...
mysql.obj : error LNK2001: unresolved external symbol _mysql_close@4
mysql.obj : error LNK2001: unresolved external symbol _mysql_free_result@4
mysql.obj : error LNK2001: unresolved external symbol _mysql_num_fields@4
mysql.obj : error LNK2001: unresolved external symbol _mysql_fetch_row@4
mysql.obj : error LNK2001: unresolved external symbol _mysql_use_result@4
mysql.obj : error LNK2001: unresolved external symbol _mysql_query@8
mysql.obj : error LNK2001: unresolved external symbol _mysql_real_connect@32
mysql.obj : error LNK2001: unresolved external symbol _mysql_init@4
mysql.obj : error LNK2001: unresolved external symbol "void __cdecl sleep(int)" (?sleep@@YAXH@Z)
Debug/a.exe : fatal error LNK1120: 9 unresolved externals
Error executing link.exe.

Pour résoudre ce problème, nous devons intégrer la bibliothèque libmysql.lib dans notre projet. A ce niveau la génération de l’exécutable réussit mais son exécution peut ne pas réussir si on ne possède pas le fichier libmysql.dll car notre exécutable est lié dynamiquement à cette bibliothèque. Ce fichier est fourni avec MySQL et son emplacement dans une installation MySQL est $MYSQL_HOME\lib\opt\libmysql.dll. On doit mettre cette bibliothèque soit dans le répertoire de notre exécutable soit dans le dossier system32 de Windows pour réussir l’édition des liens dynamique que le système effectue lors du chargement d’une application.
Pour ajouter le fichier libmysql.lib dans notre projet nous avons deux méthodes :
1- il suffit de créer un nouveau dossier dans l’arborescence du projet sur l’explorateur de fichiers Visual C++ puis ajouter le fichier libmysql.lib dans ce dossier en choisissant add existing file to folder  sur le menu contextuel du dossier qu’on vient de créer.
2- on cliquant sur le sous menu settings du menu Project on atteint la boite de dialogue “Project Settings “. On choisit le volet Link puis on ajoute libmysql.lib dans la liste Object/Library Modules
  




 Conclusion

j'ai pris pas mal de détail, car des tuto dans ce sens j'en vu beaucoup mais il y a tjrs des manque et que les gens n'arrive à executer le code.
pure & simple!!

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   mySQL-VisualC++
    •   a
      •   Debug
        • a.exeTélécharger ce fichier [Réservé aux membres club]155 683 octets
        • libmysql.dllTélécharger ce fichier [Réservé aux membres club]1 519 616 octets
      • a.dspTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 391 octets
      • a.dswTélécharger ce fichier [Réservé aux membres club]Voir ce fichier525 octets
      • libmysql.libTélécharger ce fichier [Réservé aux membres club]35 142 octets
      • mysql.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 025 octets
    • mysql_visual c++.docTélécharger ce fichier [Réservé aux membres club]57 344 octets

Télécharger le zip


 Sources de la même categorie

GESTION DE FICHIER ET DOSSIER + AUTRES par shinji63
Source avec une capture CONVERTISSEUR par smartties
Source avec Zip CREATION D'UN FICHIER DBF (EN C) par Stanel
Source avec Zip STRUCTURE DES FICHIERS DBF par Stanel
Source avec Zip Source avec une capture GESTION DES ENTREES/ SORTIES AVEC CODEBARRE par YvaddavY

 Sources en rapport avec celle ci

Source avec Zip CREATION D'UN FICHIER DBF (EN C) par Stanel
Source avec Zip PINGER DES HOTES D'UNE BD MYSQL + GRAPHIQUE par randriano
Source avec Zip Source avec une capture GESTION DES ENTREES/ SORTIES AVEC CODEBARRE par YvaddavY
Source avec Zip CODE DE HUFFMAN par Ricky_MacElroy
Source avec Zip CLASS POUR INTERACTION AVEC BASE DONNÉE MYSQL par MrCapo

Commentaires et avis

Commentaire de Matt67 le 14/02/2007 22:00:40

Bonsoir,

L'histoire de copier les fichiers contenu dans le repertoire include de mysql n'est pas bonne du tout. Il faut ajouter (je ne sais plus comment) a visual le chemin du repertoire des includes de mysql , pareil pour la lib.
Ton code, avec quelques toutes petites modifications est compilable sous linux.
Faut juste virer :
#define __LCC__

J'ai aussi virer :
la fonction sleep (qui sert vraiment à rien)
#include <time.h> (du coup plus besoin)
#include <conio.h> (a quoi ca sert ?)
et je crois que c'est tout.

Matt...

Commentaire de kimmp le 15/02/2007 11:49:06

bonsoir, à Matt67
oui lorsque le programme interroge une base de données locale, c n'est pas la peine de coupier les repertoires include et lib de mysql,il suffit juste de faire integrer leurs chemins dans visual. mais lorsque la base est sur un serveur distant et que mysql n'est pas installé sur la machine local(ce qui n'est pas necessaire)il faut avoir uniquement ces deux repertoires sur la machine locale.moi je prefere de les mettre dans les includes de Visual que de les avoir ailleurs pé integrer leurs chemins dans visual.
pour inclure ces deux repertoires dans visual il faut aller dans 'Tools->Options' l'onglet 'Directories'
<conio.h> oui cela n'est pas du tout necessaire.

Commentaire de ezneti le 23/04/2007 10:29:11

bonjour,
j'ai utilisé ce code,la connexion est bien marchée le problème est que les requetes d'insertion ne sont pas prise en compte.
la creation d'une nouvelle base est acceptée mais la modification ou l'insertion à partir du code ne change rien dans la base.
veillez me proposer une solution
merci

Commentaire de Loki6 le 14/05/2007 14:07:38

salut,
pour ma part, j'aurais deux trois petites questions à poser :

est-il possible de lire dans une base mysql sans avoir de serveur, comme pour une base access par exemple. en effet je dois gérer une base de données pour pocket pc en installant le moins de choses possible sur ce fameux pocket et j'ai déjà tenté une connexion à une base access mais sans succès, problème de compatibilités.

comment fonctionne le principe de serveur mysql en fait ?

merci pour vos réponses.

Loki

Commentaire de stillfelil le 12/01/2008 13:41:57

Bonjour
j'ai les erreurs suivantes:

c:\program files\microsoft visual studio\vc98\include\mysql_com.h(183) : error C2146: syntax error : missing ';' before identifier 'fd'
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(183) : error C2501: 'SOCKET' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(183) : error C2501: 'fd' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(358) : error C2065: 'SOCKET' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(358) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(359) : error C2059: syntax error : ')'

Comment résoudre le problème
Merci

Commentaire de stillfelil le 12/01/2008 14:13:44

Bonjour
Je viens de resoudre le probleme en ajoutant :
#define my_socket int
dans mysql_com.h

Commentaire de stillfelil le 12/01/2008 16:28:53

Je tiens a remercier infiniment kimmp pour ce tuto

Commentaire de man_smi le 17/03/2008 12:29:10

bjr
ca marche 100%100

g suivé votre expilcation de a à z/et enfin je suis arrivé à connecter a la base donné Mysql d'apres une longue recherche

je vous remercie pour votre aide et votre details d'expliquer les choses.  

Commentaire de Kypper_667 le 10/02/2009 18:18:11

Vous êtes satisfait mais vous mettez même pas une bonne note voilà qui est des plus original ^^

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

dll,c++,mysql... [ par spidsl ] Je suis newbie en C++, j'apprends a peine, et je me pose plein de kestions !!Primo, a koa servent les dll ??Ensuite, yatil la possibilité de faire des c++ avec mysql , et vc++ ! [ par spidsl ] Bonjour, bon, voila, j'aimerais me connecter à une base mysql qui est sur un serveur à partir d'un prog en c++. En fait, je voudrais gérer mon site (s Mysql [ par Vinsou ] J'essaie de me connecter à mysql. Donc j'inclus "mysql.h" et ensuite j'ai:ligne 90: mysql_close (conn);Et à la compilation:main.cpp:90: undefined refe mysql en cpp [ par skysee ] bonjour,je dois créer une base d donnée dans du code cpp.Est ce que quelqu'un aurait une solution.merci connexion à MySQL chez Free [ par Xs ] Salut !je cherche a faire un prog, sous dos, qui peut se connecter a une base de donnée SQL hébergée chez Free.comment fais-t-on ? (ca va des sockets probleme de link !!! [ par NeeKotine ] Salut !je cherche a me connecter à une base MySQL via un petit programme en c dont voici le source :# include &lt;stdio.h&gt;#if defined(_WIN32) || d mysql.h [ par jer ] SalutJ'aimerais pouvoir accéder à mon serveur mysql depuis dev c&#43;&#43;J'ai dld mysql-c&#43;&#43;.h depuis mysql.com dans le dossier dev-c&#43;&#43 mySql en C sous Visual Studio [ par bragon ] Je veux utiliser un programme en C qui consulte une base de donnée MySql. J'utilise Visual Studio pour compiler mon programme et l'Api C livré avec My mySql en C sous Visual Studio [ par bragon ] Je veux utiliser un programme en C qui consulte une base de donnée MySql. J'utilise Visual Studio pour compiler mon programme et l'Api C livré avec My Connection a une BDD MySql [ par Xs ] salut !!g telechargé Mysql++ mais je sais pas m'en servir : comment on fait pour se connecter a une base de données Mysql ? peut-importe l'hebergeur !


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,323 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales