Requ�te avec param�tres - MySQL - C++
Bonjour,
Je suis vraiment d�sesp�r�, je suis connect� � ma base mysql � partir d'un programme en C++ ( gr�ce � l'api de mysql) sur borland C++ builder 6.
Seulement lorsue je veux interroger la base de donn�e � partir d'une requ�te avec un ou plusieurs param�tres. J'arrive � faire des requ�tes simple gr�ce a mysql_query. Mais je n'arrive pas a passer de param�tres � ma commande.
Exemple:
Code:
mysql_query(mySQL, "select * from Joueur where Pseudo = 'BOB'") ;
<-- cette requete me retourne les infos du joueur BOB
Probl�me:
Code:
1 2 3
| string NomDuJoueur;
NomDuJoueur="BOB";
mysql_query(mySQL, "select * from Joueur where Pseudo = " NomDuJoueur); |
Voila j'espere avoir des r�ponses
Merci � tous ceux qui se pencheront sur mon probl�me
j ai test� ce code , �� fonctionne
Salut
tout d abord , ajoutes un panel1 , il permet de verifier l etat de la connection avant d envoyer la requete
ensuite as tu ajout� libmySQL.dll et libmySQL.lib au projet ?
enfin as tu modifi� mysql.h et l as tu mis en include ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Mon_ip = 127.0.0.1 ;
AnsiString Mon_user = moi ;
AnsiString Mon_pass = 123456 ;
AnsiString Ma_base = mabdd ;
MYSQL *mySQL; mySQL = mysql_init(NULL);
if (!mysql_real_connect(mySQL, Mon_ip.c_str() , Mon_user.c_str(), Mon_pass.c_str() ,Ma_base.c_str(), 3306, NULL, 0))
{ Panel1->Color=clRed; Panel1->Caption="Echec"; } // la connection a échoué
else { Panel1->Caption="Ok"; // la connection a réussi
ListBox2->Items->Clear();
AnsiString NomDuJoueur;
MYSQL_RES *myRES; MYSQL_ROW myROW;
NomDuJoueur="Clyde";
AnsiString aStr ;
AnsiString S = "select * from Joueur where Pseudo = \"" + NomDuJoueur + "\"";
if ( !mysql_query( mySQL, S.c_str() ) )
{ myRES = mysql_store_result(mySQL);
if (myRES)
{
for(unsigned int i = 0; i < myRES->row_count; i++)
{
myROW = mysql_fetch_row(myRES);
for(unsigned int j = 0; j < mysql_num_fields(myRES); j++)
{ aStr = myROW[j]; ListBox2->Items->Add(aStr); }
}
}
}
mysql_free_result(myRES);
}
} |
telecharges le projet ici pour builder 6
http://dl.free.fr/b9qezNJA3/bcbreponsesql.zip
Solution mais autre probl�me lol
Merci pour vos r�ponses.
J'ai bien inclus tout les .lib et mis les .dll au bonne endroit.
J'arrive � me connecter � ma base.
J'arrive aussi � faire des requetes avec des parametres mais cela ne fonctionne pas lorsque j'ai plus de 2 param�tres :aie:
Le code:
Code:
1 2 3 4 5 6 7 8 9 10
| std::string pseudo="Goliate";
std::string pass="123456";
std::string mail="[email protected]";
std::string com="test";
sprintf(requete,"INSERT INTO Joueur (PSEUDO, PASSWORD, EMAIL, COMMENTAIRE, nbpartieJouee, NbPartieGagnee, NbPoint) VALUES ('%s','%s','%s','%s','0','0','0')", pseudo, password, mail, comm);
std::cout << requete << std::endl;
mysql_query(mySQL, requete); |
Mon premier param�tre fonctionne correctement mais les autres se transforme en caract�res sp�ciaux pas du tout attendus 8O
Si quelqu'un a une solution :)