Requete mysql en C

Signaler
Messages postés
20
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
15 septembre 2006
-
Messages postés
20
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
15 septembre 2006
-
Bonjour,
Petit problème avec une fonction qui effectue une requète mysql. La connection et la requète s'executent sans probleme, mais je voudrais pouvoir concatener le resultat pour produire une chaine de caractère (chemin de fichier) et c'est là que ça coince.
...
result = mysql_store_result(&mysql);
row = mysql_fetch_row(result);

row est du type MYSQL_ROW fourni par l'API C de mysql. La seule chose que j'arrive à faire avec row c'est de l'afficher avec printf, mais si j'essaie de la manipuler avec strcat, les problèmes commencent. Comment faire ?

Merci pour votre aide.

3 réponses

Messages postés
137
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
16 juillet 2007
1
je ne connais pas l'api mysql mais ce que je peux te proposer c'est de tester de la facon suivante
//tu declares ta variable row de la sorte
LPVOID row;
SecureZeroMemory(row,sizeof(MYSQL_ROW));
(MYSQL_ROW)row = (MYSQL_ROW)mysql_fetch_row(result);

essaie et dis moi si ca marche
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007

Salut,



Selon les différentes doc' des API MySQL que j'ai pu lire, le type
MYSQL_ROW n'est autre qu'un pointeur sur tableau de chaînes de
caractères, c'est-à-dire de type char**
.

Il ne me paraît pas improbable que tu puisse accéder aux valeurs de chaque champ par ce type d'instructions :

fprintf(stdout, "%s", row[0]), où row[0] représente la première colonne de l'enregistrement courant.



En bref, la concaténation peut réaliser, à priori, en réalisant
la concaténation de tous les éléments du tableau (de l'élément 0 à
l'élément noté num_fields, représentant le nombre de champs).



Comme je n'ai pas eu le temps de faire un test, je t'invite à la lecture des API MySQL.



L'exemple est assez parlant et, en lieu et place de l'affichage des
valeurs de champs, il s'agira pour toi de réaliser les concaténations
souhaitées.



En espérant t'avoir un peu aidé,

Ciao et bonne nuit.
Messages postés
20
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
15 septembre 2006

Merci beaucoup pour vos réponses. Je teste tout ça et je vous tiens au courant...