Visual C++ et SQL

Stephworlds Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 16 avril 2007 - 13 mars 2007 à 14:25
Stephworlds Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 16 avril 2007 - 16 avril 2007 à 18:32
Salut à tous
je doit réaliser un programme qui doit communiquer avec une base de donnée distante. Le problème c'est que dès que je compile les problèmes se multiplient. J'ai mis les include de mysql dans ceux de visual et j'ai mis la library libmysql.lib dans les libraries de visual. Pourant ça plante.... Comprend pas
En plus lorsqe je compile, il y des erreurs avec l'include mysql_com.h. Les deux problemes doivent être liées mais je sais pas par quoi.
Ce serait sympa de m'expliquer ce qui me manque.
PS j'utilise Visual C++ 2005 express
Voila la je crois que j'ai rien oublié..

10 réponses

wccanard Messages postés 3 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 2 février 2009
13 mars 2007 à 16:00
Salut! Alors pour ton problème, il faut que tu ajoute ta librairie au projet, ca devrait marcher.

Sinon autre chose, la librairie fournie avec mysql est la librairie en C.

Pour mon projet, j'utilise VS2005 et je dois aussi communiquer avec une base MySQL.
En m'etant renseigné, il existe l'API mysql++ pour le C++.

C'est la que la galère commence...  car je ne sais pas du tout comment la mettre en place.
0
Stephworlds Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 16 avril 2007
13 mars 2007 à 17:51
Pourtant je pensait l'avoir inclut : je suis allé dans les propriété des dossiers Propriété de configuration, Editeur de lien, général, et j'ai mis dans répertoire des bibliothéques supplémentaire "C:\mysql-5.0.37-win32\lib\opt".
Quand je compile j'ai ces erreurs que je comprend pas :
    c:\program files\microsoft visual studio 8\vc\include\mysql_com.h(183) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'fd'
    c:\program files\microsoft visual studio 8\vc\include\mysql_com.h(183) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
    c:\program files\microsoft visual studio 8\vc\include\mysql_com.h(183) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
    c:\program files\microsoft visual studio 8\vc\include\mysql_com.h(353) : error C2065: 'SOCKET' : identificateur non déclaré
    c:\program files\microsoft visual studio 8\vc\include\mysql_com.h(353) : error C2146: erreur de syntaxe : absence de ')' avant l'identificateur 's'
    c:\program files\microsoft visual studio 8\vc\include\mysql_com.h(354) : error C2059: erreur de syntaxe : ')'

c'est des erreurs dans l'include qui normalement est bon ......
0
wccanard Messages postés 3 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 2 février 2009
13 mars 2007 à 19:55
Est-ce que tu as précisé a ton projet visual, les chemins des repertoires includes?
a savoir dans ton cas le repertoire des includes est le suivant : "C:\mysql-5.0.37-win32\include"

Sinon oui je me rappelle avoir vu sur ce forum un lien interressant pour ton cas :
http://www.cppfrance.com/code.aspx?ID=41473

J'aurais du y penser plus tot...
Cet exemple fonctionne parfaitement chez moi... (avec quelques modifications apportés a la connexion a la BDD).

voila.

PS: Je rappelle au secours, si yen a qui savent comment mettre en oeuvre mysql++ je serais bien heureux d'avoir de l'aide.

Merci
0
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
13 mars 2007 à 22:32
Bonsoir,

Ne copie aucun fichier de mysql (lib ou h) ou que ce soit ...
Il faut simplement que tu dises a VC++ ou se situe les fichiers .h de mysql ainsi que le fichier libmysql.lib.
Forcement dans le fichier mysql.h, il y a d'autre include (je suppose) mais si tu ne copies que le fichier mysql.h, il trouve pas les autres. Je me repete, ne copie aucun fichier de mysql (lib ou h) ou que ce soit ...

Matt...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Stephworlds Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 16 avril 2007
15 mars 2007 à 12:50
j'avais deja copié les fichiers dans les dossiers de VC++. Suite a ton conseil je les ai virés. Je suis allé dans option, projet et solution, répertoires de VC++ et j'ai mis Afficher les répertoire pour include et jai mis l'adresse de mon répertoire. Pourtant ça change rien. j'ai fait pareil pour les lib. Il faudrai pas faire quelquechose avec le .dll
c'est toujours les meme erreurs que celle que j'ai mise dans mon deuxieme post.
Ce qui me derrange c'est qu'il trouve des erreurs dans les includes -> donc il les trouves. Mais pourtant j'ai pas configuré VC++ comme il faut ..... CONPREND PAS ....
Un petit détail par contre : Pour le sql. Je suis allé sur le site http://dev.mysql.com et j'ai telechargé MySQL Community Server et j'ai telechargé dans
Windows downloads le Without installer (unzip in C:\). Je l'ai dezippé dans le dossier C:\ et puis voila donc si j'ai oublié qulequechose.
0
Stephworlds Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 16 avril 2007
15 mars 2007 à 12:59
Un pti détail (et oui encore un autre ) je suis allé voir dans le mysql_com.h .En fait il y a deux endroit ou l'on déclare des my_socket que VC++ ne reconnait pas donc il les met en int :error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut. Donc il faudrai que je fasse un #include d'un truc qui gere les socket. Le truc c'est que ça m'etonne que mysql fournisse un truc faux.
0
Stephworlds Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 16 avril 2007
15 mars 2007 à 13:37
J'ai viré ces erreurs dans le .h en utilisant une bibliotheque winsock2.h. Par contre mes erreur de sql n'ont pas disparu. Il ne reconnait toujour pas les fonction mysql donc la je sqis pas... J'éspere ne pas avoir fait de connerie
0
Stephworlds Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 16 avril 2007
15 mars 2007 à 15:08
C'est bon vous pouvez me lincher . J'ai comprit d'ou venait le probleme. Je ne voyait que ce n'était que des erreurs de sql donc j'en ai deduit que c'était a cause des config.... Et ben non. En fait c'était des conflits de type. Un petit bidouillage plus tard les erreurs n'atait plus là.
Par contre la j'ai une erreur de lien .... LINK : fatal error LNK1104: impossible d'ouvrir le fichier 'uuid.lib' Selon vous où es ce que je peut trouver un truc comme ça
0
ncage2 Messages postés 12 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 28 mars 2007
22 mars 2007 à 15:50
Salut,
j'ai les meme erreurs. pourrait tu preciser comment tu a fait? tu parle de winsock2.h

merci
0
Stephworlds Messages postés 16 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 16 avril 2007
16 avril 2007 à 18:32
relu desolé de pas avoir répondu plus tot j'ai eu des probleme internet.
Donc pour les librairies j'ai tout copier celle de sql dns le dossier visual. Pareil pour les include. Ensuite j'ai eu un probleme dans un include sql. J'ai rajouté dans ce fichier winsock2.h qui gere les sockets. Par contre pour faire fonctionner ce .h j'ai du copier mass d'include. Je les ai trouvé sur le pc de l'iut. dsl la je sais pas comment faire pour que tu les recup.
voila je crois que c'est tout ce que j'ai fait.
dsl de pas avoir répondu avant....
0
Rejoignez-nous