juliette666
Messages postés2Date d'inscriptiondimanche 11 novembre 2007StatutMembreDernière intervention15 février 2011
-
2 févr. 2011 à 00:43
juliette666
Messages postés2Date d'inscriptiondimanche 11 novembre 2007StatutMembreDernière intervention15 février 2011
-
15 févr. 2011 à 12:04
Bonsoir a tous
pour commencer j'utilise visual studio 2010 (c++ console) et pour ma BD c'est MySQL. j'ai Connexion.h,Connexion.cpp et main.cpp
voila le code de main.cpp:
#include
#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#include <MYSQL/mysql.h>
#include "connexion.h"
using namespace std;
int main(){
char *hostname,*user,*password,nombase[50];
unsigned int port;
hostname="localhost";
user="root";
password="012345";
port=3309;
strcpy_s(nombase,"test");
Connexion C(hostname,user,password,port);//instanciation de la classe connexion avec les parametres de la base
;
if(C.connect("test")==true)
{
system("cls");
cout<<"\n";
cout<<"\t ************************************************ \n";
cout<<"\t * * \n";
cout<<"\t * veuillez patienter pendant le chargement * \n";
cout<<"\t * * \n";
cout<<"\t ************************************************ \n";
cout<<"\n";
for(int i=0;i<1;i++)
cout<<"\n";
cout<<"\n";
cout<<"\n";
cout<<"\n\t\t */*\\/*\\/*\\OUVERTURE DE L'APPLICATION/*\\/*\\/*\\* \n";
cout<<"\n";
cout<<"\n\n\n\t\tChargement";
for(int j=1;j<40;j++)
{
Sleep(100);//attente
cout<<".";
}
system("cls");
mysql_query(C.mysql, "SELECT * FROM client;");
MYSQL_ROW row;
MYSQL_RES *result;
result = mysql_store_result(C.mysql);
char nrows= mysql_num_fields(result);
while (row = mysql_fetch_row(result))
{
for ( int i=0; i < nrows; i++)
{
cout<<row[i]<<"\t";
}
cout<<endl;
}
mysql_free_result(result);
}
else
{
cout<<"echec de Connexion avec la base";
system("pause");
return -1;
}
cout<<"\n";
cout<<"\n";
C.deconnect();
system("pause");
return 0;
}
la connexion avec la BD se fait sans problème ainsi que la requete qui m'affiche tout. ce que je demande c'est d'ajouté une condition a la requete mais cette contition est variable du genre:
int a;
cout<<"donner age"<<endl;
cin>>a;
mysql_query(C.mysql, "SELECT * FROM client where age=...a....;");mon prob est dans cette ligne
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 2 févr. 2011 à 10:30
* Évite les using namespace std, voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace * if(C.connect("test")==true) s'écrit plus élégamment en: if(C.connect("test"))
* Les "system" sont à éviter comme la peste, ils brisent la portabilité.
* Utilise des std::string, au lieu des char* !
* Ceci:
Pour résoudre ton problème, utilise un std::ostringstream:
// Pensez à inclure <sstream>
int a;
std::cout << "donner age" << std::endl;
std::cin >> a;
std::ostringstream query;
query << "SELECT * FROM client where age= " << a << ";";
mysql_query(C.mysql, query.str().c_str());
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question