Mysql et c++ je ne comprend pas ???!!!

pioupioupioupiou Messages postés 15 Date d'inscription dimanche 21 août 2005 Statut Membre Dernière intervention 13 octobre 2006 - 29 août 2005 à 22:35
pioupioupioupiou Messages postés 15 Date d'inscription dimanche 21 août 2005 Statut Membre Dernière intervention 13 octobre 2006 - 29 août 2005 à 23:50
bonjour a tous
alors voila mon probleme j'ai créé un programme qui permet d'incrementer une variable ici dollard d'une table mysql pour chaque pseudo.

La probleme est le suivant quand je passe dans la boucle une premiere fois mon pseudo est correct et l'incrementation s'effectue normalement. Ensuite pour le deuxieme pseudo rien ne va plus il affiche fffff se qui est incorrect.

voici la code merci de vos reponse !!

//---------------------------------------------------------------------------


#include <vcl.h>
#pragma hdrstop


#include "base.h"


//mes ajouts
#define __WIN__ // Inclut l'en-tête MySQL
#include "include\mysql.h"
#include <dstring.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{


//general
MYSQL *conn ;
unsigned int i;
char** vectpseudo[1000] ;
//requete1
MYSQL_RES *result;
MYSQL_ROW myROW ;
unsigned int nombrepseudo ;
//requete2
MYSQL_RES* resultat;
MYSQL_ROW doll ;
char* dollard ;
//requete3


// initialisation obligatoire
conn = mysql_init(NULL);
//connexion
mysql_real_connect(conn,"localhost","root","","jeux",0,NULL,0);
char* req ="SELECT `pseudo` FROM `partie`";
// execution de la requete
mysql_query(conn,req);
// permet de mettre en memoire les résultats
result = mysql_store_result(conn);


char* essai[10] ;
if (result != NULL){
myROW = mysql_fetch_row(result) ;
nombrepseudo = result->row_count ;
//boucle permettant de récupérer les pseudos
for (unsigned int i = 0; i < nombrepseudo; i++) {
essai[i] = myROW[i] ;


}
AnsiString zer = essai[0] ; // premier pseudo correct
AnsiString rez = essai[1] ; // deuxieme pseudo non correct ???
}



nombrepseudo = result->row_count ;
myROW = mysql_fetch_row(result) ;


for (unsigned int i = 0; i < nombrepseudo; i++) {


char* req ="SELECT `pseudo` FROM `partie`";
// execution de la requete
mysql_query(conn,req);
// permet de mettre en memoire les résultats
result = mysql_store_result(conn);
if (result != NULL){
// MySQL peut extraire des résultats
myROW = mysql_fetch_row(result) ;
AnsiString pseudoMaintenant = myROW[i] ; AnsiString partie1 "SELECT dollard FROM partie WHERE pseudo '";
AnsiString partie2 = myROW[i];
AnsiString partie3 = "'" ;
AnsiString entier = partie1 + partie2 + partie3;
char* req2 = entier.c_str();


// execution de la requete
mysql_query(conn,req2);
// permet de mettre en memoire les résultats
resultat = mysql_store_result(conn);
if (result != NULL){
doll = mysql_fetch_row(resultat) ;
dollard = doll[0] ;
int dollardAide = StrToInt(dollard) ;
dollardAide++ ;


AnsiString bou1 "UPDATE partie SET dollard '";
AnsiString bou2 = dollardAide ; AnsiString bou3 "' WHERE `pseudo` '" ;
AnsiString bou4 = pseudoMaintenant + "'" ;
AnsiString tout = bou1 + bou2 + bou3 + bou4;
char* req3 = tout.c_str();
mysql_query(conn,req3);
// on libère la mémoire prise pour les résultats
mysql_free_result(result);
}
}



}



mysql_close(conn);
mysql_server_end();
}

1 réponse

pioupioupioupiou Messages postés 15 Date d'inscription dimanche 21 août 2005 Statut Membre Dernière intervention 13 octobre 2006
29 août 2005 à 23:50
desolé mais j'ai trouver mon erreur mon service permettant d'incrementer continuellement une variable dans une table mysql fonctionne super bien !!!!! pour ce que sa intérresse faite moi signe et je ferai un tutoriau merci @ la prochaine
0
Rejoignez-nous