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

Nono -  
 NoX -
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   Statut Membre Dernière intervention   1
 
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
montana
 
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
hamoune
 
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
cpf
 
Salut, j'ai aussi du mal à utiliser le query de C++ builder
Il y a t'il un manuel qui explique cela? Merci
0
NoX
 
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