boualiasma
Messages postés393Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention23 décembre 2011
-
29 juin 2009 à 10:56
boualiasma
Messages postés393Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention23 décembre 2011
-
1 juil. 2009 à 09:53
Salut,
-Je voudrais établir dans mon programme C une connexion à une base de données crée sous Mysql(j'ai instalé EasyPHP-3.0-setup).
Sachant que mon programme C est sous Visual Studio 2008.
- Quelles sont les étapes à suivre pour établir cette connexion pour que je puisse traiter des requêtes de sélection et de Mise à jour ?
- y-a-il un exemple de test pour vérifier ces étapes ?
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 29 juin 2009 à 16:25
Il te faut pour cela prendre connaissance de l'API MySql qui fonctionnera avec cette version de EasyPHP.
Pour connaitre ta version de mysql, clique droit sur l'icone de EasyPHP et clic administration, ensuite tu va sur le site de mysql et tu cherche la doc qui te donnera les différentes fonctions C/C++ utilisable.
boualiasma
Messages postés393Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention23 décembre 20115 30 juin 2009 à 00:18
Salut,
- J'ai téléchargé le dossier zip alors j'ai trouvé un dossier mysql 5.1.35.
qui contient des dossiers include, bin et lib.
est ce que je mis le contenu de ces 3 dossiers sous respectivement ? :
C:\Program Files\Microsoft Visual Studio 9.0\VC\include
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
- J'ai une base de données avec mysql de version 5.1.30.
j'ai remarqué que ceci et l'api mysql ne sont pas de même version.
pas de problème?
- Quel site que vous avez trouvé cet API? il y a Autre API ?
- Est ce que j'ajoute la ligne suivante à mon code?
#pragma comment(lib,"mysql.lib")
- Avez-vous un exemple de test pour tester votre solution ?
Je vous remercie pour vos aides.
Vous n’avez pas trouvé la réponse que vous recherchez ?
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 30 juin 2009 à 01:41
- Pas besoin du dossier bin car tu l'as déjà dans le dossier d'installation de EasyPHP.
- Comme tu l'as remarqué, la version téléchargée est plus récente ainsi elle supporte toutes les fonctionnalités de l'ancienne version Donc aucun problème.
- La meilleure documentation, en anglais, est fournie dans le dossier doc du zip que tu as téléchargé.
- Oui tu peux ajouter #pragma comment(lib,"mysql.lib") à ton code juste après les includes.
- Exemple:
#include <windows.h>
#include <mysql.h>
#pragma comment (lib,"libmysql.lib")
MYSQL mysql;
//...
mysql_init(&mysql);
mysql=mysql_real_connect(&mysql,"localhost","utilisateur","motdepasse","base",0,0,0);
//.. appel des autres fonctions....
//...
mysql_close(&mysql);
boualiasma
Messages postés393Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention23 décembre 20115 30 juin 2009 à 11:44
Salut,
- J'ai copié seulement le contenu des deux dossiers lib et include du Zip dans :
C:\Program Files\Microsoft Visual Studio 9.0\VC\include
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
- J'ai ajouté la dll libmysql.dll dans le dossier de mon exécutable sous:
C:\ChGaLib\passage\passage\Debug
- j'ai ajouté ajouter #pragma comment(lib,"mysql.lib") à mon code juste après les includes
- J'ai ajouté seulement à mon code deux lignes pour tester
#include <mysql.h>
#pragma comment (lib,"libmysql.lib")
// Ouverture du fichier XML
doc = xmlParseFile("catalogue.xml");
if (doc == NULL) {
fprintf(stderr, "Document XML invalide\n");
return EXIT_FAILURE;
}
// Récupération de la racine
racine = xmlDocGetRootElement(doc);
if (racine == NULL) {
fprintf(stderr, "Document XML vierge\n");
xmlFreeDoc(doc);
return EXIT_FAILURE;
}
printf("La racine du document est : %s\n", racine->name);
// Libération de la mémoire
xmlFreeDoc(doc);
return EXIT_SUCCESS;
}
J'ai eu une liste d'erreurs:
1>------ Début de la génération : Projet : passage, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.c
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(243) : error C2061: erreur de syntaxe : identificateur 'SOCKET'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(280) : error C2059: erreur de syntaxe : '}'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(394) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(394) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(394) : error C2371: 'Vio' : redéfinition ; types de base différents
1> c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(229) : voir la déclaration de 'Vio'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(394) : error C2143: erreur de syntaxe : absence de ';' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(394) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(395) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(395) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(395) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(396) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(396) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(396) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(397) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(397) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(397) : error C2371: 'my_bool' : redéfinition ; types de base différents
1> c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(51) : voir la déclaration de 'my_bool'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(397) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'clear_buffer'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(397) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(398) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(398) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(398) : warning C4142: redéfinition bénigne du type
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(398) : error C2370: 'size_t' : redéfinition ; classe de stockage différente
1> c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : voir la déclaration de 'size_t'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(398) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'length'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(398) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(398) : warning C4142: redéfinition bénigne du type
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(399) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(399) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(399) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(400) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(400) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(400) : error C2059: erreur de syntaxe : 'type'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(400) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(401) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(401) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(401) : error C2059: erreur de syntaxe : 'type'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(403) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(404) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(404) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(404) : error C2059: erreur de syntaxe : 'type'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(404) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(405) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(405) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(405) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(417) : error C2146: erreur de syntaxe : absence de ')' avant l'identificateur 's'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(417) : error C2061: erreur de syntaxe : identificateur 's'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(417) : error C2059: erreur de syntaxe : ';'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(417) : error C2059: erreur de syntaxe : ','
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(418) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(260) : error C2016: C requiert qu'un struct ou une union possède au moins un membre
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(260) : error C2061: erreur de syntaxe : identificateur 'NET'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(285) : error C2365: 'scramble' : redéfinition ; la précédente définition était 'fonction'
1> c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(491) : voir la déclaration de 'scramble'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(313) : error C2059: erreur de syntaxe : '}'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(322) : error C2061: erreur de syntaxe : identificateur 'MYSQL'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(332) : error C2059: erreur de syntaxe : '}'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(350) : error C2016: C requiert qu'un struct ou une union possède au moins un membre
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(350) : error C2061: erreur de syntaxe : identificateur 'NET'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(355) : warning C4142: redéfinition bénigne du type
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(359) : error C2369: 'last_error' : redéfinition ; indices différents
1> c:\program files\microsoft visual studio 9.0\vc\include\mysql_com.h(276) : voir la déclaration de 'last_error'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(361) : error C2059: erreur de syntaxe : '}'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(411) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(411) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(411) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(412) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(412) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(412) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(413) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(413) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(413) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(414) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(414) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(415) : error C2059: erreur de syntaxe : 'type'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(415) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(416) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(416) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(416) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(417) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(417) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(417) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(418) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(418) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(418) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(420) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(420) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(420) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(421) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(421) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(421) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(422) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(422) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(422) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(423) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(423) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(423) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(424) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(424) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(424) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(425) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(425) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(425) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(426) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(426) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(426) : error C2059: erreur de syntaxe : ')'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(427) : error C2143: erreur de syntaxe : absence de ')' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(427) : error C2143: erreur de syntaxe : absence de '{' avant '*'
1>c:\program files\microsoft visual studio 9.0\vc\include\mysql.h(427) : fatal error C1003: le nombre d'erreurs est supérieur à 100 ; arrêt de la compilation
1>Le journal de génération a été enregistré à l'emplacement "file://c:\ChGaLib\passage\passage\Debug\BuildLog.htm"
1>passage - 102 erreur(s), 3 avertissement(s)
======== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
boualiasma
Messages postés393Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention23 décembre 20115 30 juin 2009 à 12:01
Salut,
- à savoir, que j'ai copié les deux dossiers debug et opt qui existent dans le dossier mysql-5.1.35-win32\lib du ZIP sous:
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
- Est ce que je copie le dossier bin qui existent dans le dossier mysql-5.1.35-win32\bin du ZIP et le dossier bin de mysql qui existe dans C:\Program Files\EasyPHP 3.0\mysql\bin sous:?
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
- Est ce que il y a une configuration à faire dans mon espace de projet?
- Quel site que vous avez téléchargé le ZIP mysql-5.1.35-win32 ?
boualiasma
Messages postés393Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention23 décembre 20115 1 juil. 2009 à 09:53
Salut,
j'ai installé la librairie mysql.
- Je voudrais
établir dans mon programme C une connexion à une base de données crée
sous Mysql(j'ai instalé EasyPHP-3.0-setup). Sachant que mon programme C
est sous Visual Studio 2008.
- La vesion de mysql est 5.1.30.
- J'ai écrit un petit exemple de test. mais j'ai eu des erreurs.
int main() {
xmlDocPtr doc;
xmlNodePtr racine;
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option");
// Ouverture du fichier XML
doc = xmlParseFile("catalogue.xml");
if (doc == NULL) {
fprintf(stderr, "Document XML invalide\n");
return EXIT_FAILURE;
}
// Récupération de la racine
racine = xmlDocGetRootElement(doc);
if (racine == NULL) {
fprintf(stderr, "Document XML vierge\n");
xmlFreeDoc(doc);
return EXIT_FAILURE;
}
printf("La racine du document est : %s\n", racine->name);
// Libération de la mémoire
xmlFreeDoc(doc);
return EXIT_SUCCESS;
if(mysql_real_connect(&mysql,"localhost","root","","chmsi",0,NULL,0))
{
mysql_close(&mysql);
}
else
{
printf("Une erreur s'est produite lors de la connexion à la BDD!");
}
}
message d'erreur:
1>------ Début de la génération : Projet : passage, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.c
1>Édition des liens en cours...
1>main.obj : error LNK2019: symbole externe non résolu _mysql_close@4 référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu _mysql_real_connect@32 référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu _mysql_options@12 référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu _mysql_init@4 référencé dans la fonction _main
1>C:\ChGaLib\passage\Debug\passage.exe : fatal error LNK1120: 4 externes non résolus
1>Le journal de génération a été enregistré à l'emplacement "file://c:\ChGaLib\passage\passage\Debug\BuildLog.htm"
1>passage - 5 erreur(s), 0 avertissement(s)
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré