MySQL et Visual Studio 2010 [Résolu]

tomtom1305 11 Messages postés jeudi 31 mai 2012Date d'inscription 14 février 2013 Dernière intervention - 31 mai 2012 à 09:39 - Dernière réponse : tomtom1305 11 Messages postés jeudi 31 mai 2012Date d'inscription 14 février 2013 Dernière intervention
- 4 juin 2012 à 09:49
bonjours,

suite à des recherches à perte de vue, sans fin, sans trouvaille... je viens vous demander votre aide et vos conseil sur la façon de codé mon logiciels.

voici ma question:

-je dois créer un logiciels qui récupère les données hardware d'un PC. ceci fonctionne très bien et stock les données récupéré dans un fichier .odt ( open office write) puisqu'un fichier "text.txt" était limité en carractère. jusque la aucun soucis.
Vous allez dire mes pourquoi poste-tu sur le forum... Et bien tous simplement parce que je dois maintenant, non pas les stocker dans un fichier .odt ou .txt mais plutot directement dans une base de données MySQL. Mais je ne sais pas comment faire.. j'ai essayé plein de chose... fait trop plein de recherche.. mais je ne trouve que des poire et de pomme sur google.. alors que je cherche des fraises...
- Pouvez vous me données un coup de main s'il vous plait. j'utilise visual studio 2010 je code en C++ et j'utilise le Package easyphp. Et j'aimerais savoir comment on fait pour se connecté a MySQL.

PS: je sais qu'il y a une manip a faire avec visual pour qu'il aille chercher les librairie MySQL. mais je sais pas comment faire.....

je suis à la dérive dans mes recherches... votre aide et vos conseils pourraient sauver le navire.

D'avance merci a vous.

cordialement.

tomtom1305
Afficher la suite 

7 réponses

Répondre au sujet
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscription 18 avril 2018 Dernière intervention - 31 mai 2012 à 11:10
+3
Utile
Bonjour.

un fichier "text.txt" était limité en carractère

Heu... Oo ! Un fichier texte n'est en rien limité en caractère (encore heureux !). Au boulot je génère des fichiers textes au format csv de plusieurs Go (soit plusieurs millions de lignes). Aucun problème. De toute façon, je ne vois pas pourquoi il y aurait une limite.

librairie MySQL.

Aïe mes yeux ! :p
Bibliothèque, merci ^^.

je code en C++ [...] j'aimerais savoir comment on fait pour se connecté a MySQL.

Pas très dur. MySQL fournit une API. Il y a de nombreux exemples sur le net (c'est tout de même très bien documenté).
http://www.ozzu.com/programming-forum/how-select-insert-data-mysql-table-using-t105029.html

On parle même de l'installation pour Visual Studio sur le site officiel:
http://dev.mysql.com/doc/refman/5.1/en/connector-cpp-apps-windows-visual-studio.html

Enfin, on trouve facilement un tutoriel très bien fait ici:
http://zetcode.com/tutorials/mysqlcapitutorial/

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cptpingu
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscription 18 avril 2018 Dernière intervention - 31 mai 2012 à 12:28
+3
Utile
après j'ai marqué "librairie MySQL" parce que c'est des .lib.. merci de me corriger quand j'emploi pas les bon mots..

En fait, soit tu emplois le terme anglais "library" (d'ou le .lib) soit la traduction française qui est bibliothèque. À noter que librairie se traduirait en anglais par "bookstore". C'est une erreur de traduction très commune.

se que sa ma apporté

"ce que ça m'a apporté" :p. Idem le "ça" est souvent écrit "sa" pour une raison qui m'échappe (très commun aussi). Pour ne pas se tromper, c'est simple. Si tu peux remplacer par "son", il faut écrire "sa". Si tu peux remplacer par "cela", il faut écrire "ça".

encore merci a vous j’espère que sa va m'aider.

Normalement, les liens devraient être suffisant pour t'en sortir, mais je t'invite à poster ton code si jamais tu restes bloqué trop longtemps.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cptpingu
cptpingu 3784 Messages postés dimanche 12 décembre 2004Date d'inscription 18 avril 2018 Dernière intervention - 31 mai 2012 à 14:08
+3
Utile
je sais que dans les forums on aime pas le langage sms

Et c'est un euphémisme :p !

les erreur sont dans ws2def.h et winsock2.h

N'ayant pas Windows, je ne vais pas pouvoir t'aider sur ce point précis. A noter que ces includes peuvent très bien se trouver dans d'autre header que tu aurais inclus.

La seule information que j'ai trouvé parle de mettre winsock au lieu de winsock2 si tu es sous XP:
If you get a huge number of compiler errors (WS2DEF.H and WINSOCK2.H) and you are using Visual C++ 2008 (9.0) Express under Windows XP, then you should try to include winsock.h instead of winsock2.h in fimysql.h.
You don't really use the extra stuff winsock2.h has to offer, such as IPv6 or Bluetooth for mySQL anyway - to my best knowledge. At least this is how I managed to solve my 160 compiler errors, and it works like a charm!


________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cptpingu
tomtom1305 11 Messages postés jeudi 31 mai 2012Date d'inscription 14 février 2013 Dernière intervention - 31 mai 2012 à 12:12
0
Utile
désoler si je vous ai choqué en disant qu'un fichier.txt est limité en carractère. c'était une erreur de ma part lors de l'essai de mon programme.

après j'ai marqué "librairie MySQL" parce que c'est des .lib.. merci de me corriger quand j'emploi pas les bon mots..

et pour finir Merci pour les infos. je vais allé voir sur les sites dont vous m'avez posté les liens.
je vous tiens au courant de se que sa ma apporté et de l'avancé dans mon code...

encore merci a vous j’espère que sa va m'aider.

tomtom1305
Commenter la réponse de tomtom1305
tomtom1305 11 Messages postés jeudi 31 mai 2012Date d'inscription 14 février 2013 Dernière intervention - 31 mai 2012 à 12:44
0
Utile
désolé j'écrit tous le temps en sms. la je fait des effort pour bien écrire =) mais il y a toujours des petites erreur et je sais que dans les forums on aime pas le langage sms...

les sites que vous m'avez posté mon aidez fortement. merci beaucoup.

mais maintenant que j'ai sauvé le navire grâce a votre aide, quand je compile, j'ai 117 erreur et 16 avertissement. les erreur sont dans ws2def.h et winsock2.h alors que je ne les ai pas incluent, ni rien fait avec...

je comprend pas pourquoi j'ai toutes ces erreurs...
Commenter la réponse de tomtom1305
tomtom1305 11 Messages postés jeudi 31 mai 2012Date d'inscription 14 février 2013 Dernière intervention - 31 mai 2012 à 14:25
0
Utile
Comme OS, j'ai Windows 7.
Vous m'avez bien aider.
Vraiment merci c'est sympathique de votre part.
pour ces erreur de compile dans les headers je vais naviguer avec mon navire vers l'infini et l'au-delà.. à la recherche de la solution...


PS: je suis pas près de trouver. ... xD
Commenter la réponse de tomtom1305
tomtom1305 11 Messages postés jeudi 31 mai 2012Date d'inscription 14 février 2013 Dernière intervention - 4 juin 2012 à 09:49
0
Utile
Bonjours c'est encore moi,

j'ai trouvé sur un forum, un code plutôt pas trop mal que voici:

#include  
#include <stdlib.h> 
#include <winsock.h>  
#include "D:\EasyPHP-5.3.8.1\mysql\lib\fichiers d'entète\mysql.h" 
 
#define IP_DB "localhost" 
#define LOGIN_DB "root" 
#define PASS_DB "" 
#define NAME_DB "TEST" 
 
using namespace std; 
 
void main (void) 
{   
 int i; 
 unsigned int NombreColonne; 
 MYSQL *mysql; 
 mysql = mysql_init(NULL); 
    mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "option" ); 
    if(mysql_real_connect(mysql, IP_DB, LOGIN_DB, PASS_DB, NAME_DB, 0, NULL, 0)==NULL) 
        cout << "Erreur : Connexion DB impossible" << endl; 
 else 
 {    
 	if(mysql_query(mysql, "SELECT * FROM `table`" ) == 0) 
   cout << "OK" << endl; 
 	else 
   cout << mysql_error(mysql) << endl; 
 	MYSQL_RES *Resultat = NULL; 
 	MYSQL_ROW row=NULL; 
 	//On met le jeu de résultat dans le pointeur result 
 	Resultat = mysql_store_result(mysql);   
 	if (Resultat && mysql_num_rows(Resultat)) 
   NombreColonne = mysql_num_fields(Resultat);   
 	while ((row=mysql_fetch_row(Resultat))!=NULL) 
 	{ 
   for(i=0; i<NombreColonne;i++) 
   	cout<<"["<<row[i]<<"]"; 
   cout<<endl; 
 	} 
 	mysql_close(mysql); 
 } 
}


Mais quand je compile tous ça, sa me donne 116 erreur et 17 avertissement. tous ceci sont situé dans un fichier d'entête que je n'est pas inclus au projet... le fichier c'est "winsock2.h". sa me fait des erreur comme celle-ci:

118 IntelliSense : plusieurs instances de la fonction surchargée "WSAStartup" ont une liaison 'C' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h 2197

120 IntelliSense : la redéclaration ne peut pas ajouter dllexport/dllimport à "WSASetLastError" (déclaré à la ligne 881 de "c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h") c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h 2234

114 IntelliSense : impossible de surcharger des fonctions distinguées par le type de retour uniquement c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h 2118

85 IntelliSense : identificateur attendu c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h 433
Erreur

66 error C2375: 'WSASetBlockingHook' : redéfinition ; liaison différente c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h 2304

Erreur 22 error C2011: 'linger' : redéfinition du type 'struct' c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h 500
Commenter la réponse de tomtom1305

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.