Salut, g un probleme de reservation d'espace memoire ds mon prog utilisant l api mysql. Enfin je pense que c un pb de reservation car qd j'execute un prog utilisant la methode ci apres, au bout de quelques tours de boucles, des variables sont ecrasees et tout par en Z. QQun connait il la reponse a mes problemes??? merci
int clientsql :: EnvoyerRequeteVisu(historique* tab_res)
{
MYSQL *pConnection ;
MYSQL_RES r;//etrangement necessaire a l'appel des fcts sinon apres
//store_result, pConnection devient nul??????!!!!!!
MYSQL_RES* re ;
MYSQL_ROW row; //declaration en char **
pConnection = mysql_init(NULL);
if (!(mysql_connect(pConnection,HOST,USER,PASSWD)))
{return 0;}
if (mysql_select_db(pConnection,"Acces"))
{return 0;}
if (mysql_query(pConnection,requete))
{return 0;}
if (!(re = mysql_store_result(pConnection)))
{return 0;}
if (re->row_count==0)
{mysql_free_result(re);
mysql_close(pConnection);
return 0;}
Il y a une erreur dans ta boucle while(), je suppose que nom et prénom sont des chaines de caractères, donc tu ne peux pas les copier comme tu le fais. C'est une erreur classique de débutant en C.
ben en fait, ce sont pas des char*, ce sont des AnsiString donc le pb n'est pas la...
Est ce que le pb ne pourrait il pas venir d'une mauvaise liaison de librairie? ou une mauvaise utilisation de la librairie SQL??
S'il s'agit d'un problème MySQL, il faut que tu trouves un exemple d'accès à MySQL en C pour voir si tu as fais toutes les bonnes opérations. Testes aussi si les fonctions MySQL te retournent un code d'erreur, il y a une fonction qui permet facilement d'avoir la description d'une erreur.
Voila à part installer MySQL (ce que j'ai pas trop envie de faire), je peux pas t'aider plus.
merci qd meme mais le pb c que par exemple qd je declare une var dynamique MYSQL_RES alors il n'y a pas moyen de me connecter au serveur car la var MYSQL apres le connect se retrouve avec n'importe quoi ds les chps et ca plante. Mais qd je declare MYSQL_RES en statiq alors je me connecet et j'execute des requetes, ca plante au moment de recuperer le resultat mais je vais deja plus loin. Meme avec un exemple de base pas moyen de tout executer correctement je comprends pas, je pense que ca vient de l'utilisation de l'api mais mystere je ne sais plus enfin thanks qd meme encore.