Bonjour,

Voila je développe un programme qui alimente un vecteur via des champs d'une table d'une base de données.

Le problème auquel je suis confronté, c'est qu'après avoir alimenté mon vector, lorsque je veux l'afficher il m'affiche la dernière ligne de ma table autant de fois qu'il y a de ligne dans ma table !

Voici le code source de la fonction que j'ai créée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
void CApplication::ReceptionPlannification(const char*  DateOfDay)
{
    int nbligne,rep,nCol;
    char req [128]; 
 
    sprintf (req,"select * from planning where Date=%s ", DateOfDay); // On prépare la requete avec les valeurs contenues dans login et pwd
 
    // Exécution de la requête sur la table de la bdd
    rep = mysql_real_query (bdd, req, (unsigned int) strlen (req)); // query = requête
 
	// Résultat de la requête effectuée
	if (rep) cout<<"Erreur mysql de type : "<<mysql_error(bdd)<<endl<<"\n";
 
	resultat = mysql_store_result (bdd);
	nbligne = mysql_num_rows (resultat);
	nCol = mysql_num_fields (resultat);
 
	//Affiche la ligne du nom des champs
	champs = mysql_fetch_fields (resultat);
	char a [128]="/0"; 
 
	for(int i=0 ; i < nbligne ; i++)
	{
 
	    lignes=mysql_fetch_row(resultat);
	    sprintf (a,"%10s/%5s/%1s ", lignes[0],lignes[1],lignes[2]);
	    planning.push_back((char*)a);
	}
	for (unsigned i=0; i<planning.size();i++)
	     cout << planning[i]<< " ";
 
    cout << "Fin de Procedure...\n";
    mysql_free_result(resultat);
}
Dans mon .h j'ai déclaré en public vector <char *> planning;

Pour info :

-Ma table est composée d'un champ date,heure,action.
-En résumé cette fonction est lancée avec pour paramètre la date actuelle,
ensuite elle prépare une requête de selection des éléments de la table ou la date est egale a la date actuelle ensuite il regroupe tous les champs d'une ligne (grace au sprintf()) dans une variable, ensuite il insère cette variable a la fin de mon vector (pushback()) et ensuite je veux afficher les différents éléments de mon vector pour vérifier si il a bien été rempli !

J'espere avoir été assez clair pour que vous puissiez bien comprendre cette fonction afin que vous puissiez m'aider !

Merci