BARA_Marie
Messages postés6Date d'inscriptiondimanche 21 décembre 2003StatutMembreDernière intervention16 juillet 2013
-
15 juil. 2013 à 13:02
BARA_Marie
Messages postés6Date d'inscriptiondimanche 21 décembre 2003StatutMembreDernière intervention16 juillet 2013
-
16 juil. 2013 à 15:50
Bonjour,
je débute avec MySQL en vs2010
j'utilise Visual studio, pour exécuter mes requêtes MySQL j'utilise ce principe, mais pour numéroter mon résultat dans un tableau cette requête ne fonctionne pas :
Chaine.Format(_T("SET @num=0; SELECT @num:=@num+1, id_terme FROM cui_terme ORDER BY nom_terme"));
int x = Chaine.GetLength() + 1;
char *Base = (char *)malloc( x );
size_t ix;
wcstombs_s(&ix, Base, x,Chaine, _TRUNCATE);
mysql_query(ConnexionMysql, Base);
Resultat = mysql_store_result(ConnexionMysql);
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 15 juil. 2013 à 21:34
Ca veut dire qu'il y a une erreur dans ta deuxième requete. Essaie de faire comme ceci:
int ret;
ret=mysql_query(ConnexionMysql,"SET @num=0");
ret=mysql_query(ConnexionMysql,"SELECT @num:=@num+1, id_terme FROM cui_term ORDER BY nom_terme");
Normalement, mysql_query() retourne 0 quand il n'y a pas d'erreur dans la requete. Il faut donc t'assurer qu'elle retourne bien 0 pour ton deuxième appel.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 15 juil. 2013 à 21:02
Salut,
mysql_query() n'accepte qu'une seule requete par appel alors que tu en as deux dans ta chaine. Mets "SET @num=0" dans une première chaine puis appelle mysql_query(). Mets ensuite "SELECT @num:=@num+1, id_terme FROM cui_term ORDER BY nom_term" dans la chaine et fais un deuxième appel à mysql_query().