C++ : recuperer le resultat d'une requete SQL

Fermé
Nono - 22 mai 2003 à 18:11
 NoX - 5 avril 2008 à 15:49
Bonjour a tous, je souhaiterais utiliser sous C++ builder 3 une requete qui me renvoyerais le numero le plus grand d'une table :

// permet de crée une nouvelle entrer avec le resultat + 1
SELECT MAX(CODELIVRE)
FROM LIVRES

je l'ai mis dans une query mais comment recuperer le resultat pour le mettre dans un Edit.

a moins qu'il faille utiliser un curseur mais je ne sais pas comment faire sous C++

j'ai besoin d'aide ...

4 réponses

toony Messages postés 25 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 15 novembre 2004 1
23 mai 2003 à 09:44
Salut,

A supposer que ce qui marche pour C marche pour C++, tu peux faire une classe de connexion et apres tu fais commme en C, j'ai tenté d'expliqué comme on fait sur un autre POST:

http://www.commentcamarche.net/forum/affich.php3?cat=3&ID=299580&page=1

Si ca peut t'aider , aprees tout, le forum c'est fait pour ca.

@+
Tony
0
Je touche 1 peu au c++ mais sur builder 5 pro . a mon avi il ne doivent pas etre trop differents avec le trois . Je sais que sur le 5 pour recuperer le resultat d 1 requete il fo passer par le composant DBGRID .

Voila , en esperant que ca t arrange .
0
bonjour
valoi code source:
Form2->Query1->Close();
Form2->Query1->ParamByName("n")->AsString=asq;
Form2->Query1->Open();
Form2->QuickRep1->Preview();
la requet
select Nom, Prenom, Datenais, Lieunais, Adresse, Tel
from lesclients
where Nom =:' n'
l'erreur "" not founds n""
0
Salut, j'ai aussi du mal à utiliser le query de C++ builder
Il y a t'il un manuel qui explique cela? Merci
0
salut,
pour utiliser un query sous borland c'est pas tres compliqué, tu dois juste placé le composant graphique sur ton IHM ou un dataModule ou tu peus encore le créer dynamiquement ( dans ce cas la config du Query est assez compliqué)

Ensuite pour t'en servir, dans ta classe qui va gerer les requetes SQL: (le mien je l'ai appelé Query1)

Query1->Close(); //tu fermes la connection , je le fait au début sa t'evite de l'oublier si tu le met apres.
Query1->SQL->Clear(); // un cler permettant de nettoyer l'acces; (Grossomodo)
Query1->SQL->Add("SELECT monChamp FROM maTable WHERE maClause = 1"); // Envoyé une requete vers la bdd
Query1->Open(); // tu ouvre la connection

ensuite pour récuperer

(si ce que tu souhaites récuperer, tu le met dans une variable du type voulu; ex : avec un string
string maReponse;
maReponse = Query1->FieldByName("monChamp ")->Value; //tu "met" la reponse de ta requete dans ta variable.

En esperant etre clair
tchao
0