[Delphi] Recuperer resultat d'une requete

Recuperer resultat d'une requete [Delphi] - Delphi/Pascal - Programmation

Marsh Posté le 17-06-2004 à 09:10:30    

Bonjour
 
J'ai une requete dans un Tquery qui fait un count
 
Je voudrais récupérer le resultat dans du code pour faire un test, sans passer par un dbdedt...
 
C'est possible?

Reply

Marsh Posté le 17-06-2004 à 09:10:30   

Reply

Marsh Posté le 17-06-2004 à 10:01:13    

salut, pour un tquery, tu met :
 
var=query1.fieldvalues['nom_du_champ'];
 
et si ca ne marche pas, met :
 
var=query1.fieldbyname('nom_du_champ').text;
 
voila, j'espere ke ca te servira
 
++

Reply

Marsh Posté le 17-06-2004 à 13:17:54    

-------------EDIT
Probleme resolue, j'avais pas ouvert la requete  :D  
 
 
Ok bon alors j'ai un autre petit probleme :)
voici ma requete:
select count(*) as nbr_emp
from employe where code_srv=:code_srv
 
et comment je recupere le resultat:
nbr_emp:=sql_del_srv_emp.fieldvalues('nbr_emp');
 
mais j'ai un message d'erreur qui me dit que le champ nbr_emp n'est pas trouvé :(


Message édité par ffomnislash le 17-06-2004 à 13:25:15
Reply

Marsh Posté le 17-06-2004 à 13:54:52    

fé un clic droit sur ta requete et tu fé fields editor (ou editeur de champs tout dépend ta version)
tu fé un clic droit sur la nouvelle fenetre ki c ouverte et tu fé add all fields
 
et normally ca devrai mieu marcher

Reply

Marsh Posté le 17-06-2004 à 15:30:55    

non mais j'ai editer :)

Reply

Marsh Posté le 17-06-2004 à 15:44:53    

Ce que je ferais :
 
Query1.SQL.Text := Format('select count(*) from employe where code_srv=%d', [code_srv]);
Query1.Open;
nbr_emp := Query1.Fields[0].AsInteger;
Query1.Close;
 
où code_srv est la variable qui contient le code en question
 
je n'utilise pas les champs créés en design time (avec le add all fields), c'est trop chiant quand il y a des modifs à faire je trouve.
et je n'utilise pas non plus les paramètres ":nom_param", les perfs sont pas terribles avec certains SGBD/types de connexions :/


Message édité par antp le 17-06-2004 à 15:45:43

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 17-06-2004 à 16:04:01    

c clair qu'apres chacun a ses méthodes, ffomnislash amuse toi bien avec toutes ces réponses
++

Reply

Marsh Posté le 18-06-2004 à 19:40:48    

antp a écrit :

Ce que je ferais :
 
Query1.SQL.Text := Format('select count(*) from employe where code_srv=%d', [code_srv]);
Query1.Open;
nbr_emp := Query1.Fields[0].AsInteger;
Query1.Close;
 
où code_srv est la variable qui contient le code en question
 
je n'utilise pas les champs créés en design time (avec le add all fields), c'est trop chiant quand il y a des modifs à faire je trouve.
et je n'utilise pas non plus les paramètres ":nom_param", les perfs sont pas terribles avec certains SGBD/types de connexions :/


 
en faite tu fait une requete directement dans le code? sans tquery
 
c'est cool sa, je deteste tous ces composants, je prefere tous faire a la main  :sol:  
 
mais bon la 'est trop tard faut rendre le projet lundi  et le prof veut un dossier avec tout les composants ( nom,caption,action..), y a du boulot  :D

Reply

Marsh Posté le 18-06-2004 à 20:09:51    

ffomnislash a écrit :

en faite tu fait une requete directement dans le code? sans tquery


 
Bah si, avec un TQuery, mais en effet je mets la requête et l'accès aux champs dans le code.
 

ffomnislash a écrit :


c'est cool sa, je deteste tous ces composants, je prefere tous faire a la main  :sol:  


 
Moi aussi ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed