SQL - C++ : recuperer resultat de la requette

Fermé
Nini - 31 mai 2003 à 22:32
letissya Messages postés 89 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 8 novembre 2005 - 2 juin 2003 à 17:18
Bonjour,

voila, j'ai u problème sous C++ j'execute une requete SQL :
SELECT CODECLIENT CODECLI, NOMCLIENT NOMCLI
FROM CLIENTS
WHERE CODECLIENT=128

que j'execute dans une Query et recupere les données par une datasource en faisant :
Label->Caption=Form1->DataSource1->DataSet->FieldValues["NOMCLI"];

mais il m'affiche le message :
conversion de type Variant incorrect

j'aimerais savoir comment on peut faire pour recuperer le resultat de cette requette, car j'en ai une autre du meme type avec un MAX(CODECLI) que je recupere sans probleme dans une variable de type entier:

int codecli=Form1->DataSource1->DataSet->FieldValues["CODCLI"];

quelqu'un pourrait m'expliquer ?

1 réponse

letissya Messages postés 89 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 8 novembre 2005 5
2 juin 2003 à 17:18
bon je n'ai pas fait de SQL en C++ mais apparement c'est un problème de type de données.

Il faut que tu 'cast' (mettre au bon type) tes variables.
pour ton deuxième exemple qui foncionne tu récupères un entier avec ta requete que tu affectes à une variable de type entier, donc pas de problème...

Par contre dans ton premier exemple je pense que Label->Caption c'est du texte : soit de type char*, soit de type string
et ce que tu récupères est un VARIANT, donc ce ne fonctionne pas... car pas de même type!

le premier truc qu'il faut que tu saches c'est le type de données de Caption, si c'est un string tu peux essayer de faire ça :

Label->Caption = String(Form1->....>FieldValues["NOMCLI"]);
ainsi tu dis que ce que tu récupères de ta requête doit être formaté en string..

si ça ne fonctionne pas ou que ce n'est pas un string, il faut que tu recherches une fonction (dans l'aide peut-etre) qui fait le transtypage ou 'cast' du type VARIANT on type de Caption...

voilà, j'espère avoir été a peu près claire...

bon courage.


Letissya
0