Variable dans une requête SQL

nicompx Messages postés 107 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 15 juillet 2009 - 29 nov. 2006 à 11:29
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 29 nov. 2006 à 20:41
Salut,

Ca fait longtemps que je n'ai plus fait de C .....
Alors pouvez-vous me dire comment placer une variable dans une requête SQL.

Je veux faire quelque chose dans le genre  :
Fonction_Select ( "  SELECT * FROM image WHERE  IdImage='"+ variable +"' " ) ;

Merci d'avances.

>> NiCoMpX <<

3 réponses

platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
29 nov. 2006 à 12:22
Salut !

En C++, tu peux utiliser des objets string pour concaténer tes chaînes, et dans ce cas, tu as le droit d'utiliser l'opérateur +. Sinon, en C pur et dur, tes chaînes sont en char*, et tu dois passer par la fonction strcat...
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
29 nov. 2006 à 16:23
Ce que tu montre ne marche qu'avec std::string ou CString.
Sinon en C pur il faut faire :
char req[256];
char num[4];
strcpy(req, "Select* from image where idImg=\'");
strcat(req, itoa(num, variable, 10));
strcat(req, "\'");
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 nov. 2006 à 20:41
Inutile de parcourir le buffer plusieurs fois (strcat) puisqu'on connait la longueur de la constante chaine:

strcpy(req, "SELECT * FROM image WHERE idImg=\'");
itoa(req+32, variable, 10);

ciao...
BruNews, MVP VC++
0
Rejoignez-nous