Recuperer le resultat d'un query avec count

Signaler
Messages postés
10
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
4 novembre 2009
-
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
Bjr, j'ai un probleme avec l'affichage du resultat d'un query  avec delphi 5 voici mon code
    with Query4.SQL do
  begin
    Query4.Close;
    Clear;
    Add('SELECT COUNT( Herbe ), COUNT( Fleurs ), COUNT( Arbre ) as chedjra, COUNT( Poussieres ), COUNT( Animaux ), COUNT( Shampoing ), COUNT( Produits_decoloration ), COUNT( Autres )');
    Add('FROM  Excitant');
        Query4.ExecSQL;
        Query4.Open;
    Edit1.text := IntToStr(Query4.FieldValues['chedjra']);
  end;
ça plante dans la derniere instruction

3 réponses

Messages postés
436
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
8 octobre 2008
3
bonjour;
IntToStr(Query4.Fieldbyname('chedjra').asinteger);

Dom
Messages postés
10
Date d'inscription
mardi 23 mai 2006
Statut
Membre
Dernière intervention
4 novembre 2009

salut maintenant le pb ""nom de champ incorrect Produits_decoloration "
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
27
@dominique.stock >>
"IntToStr(Query4.Fieldbyname('chedjra').asinteger);"
Peut s'écrire tout simplement:
Query4.Fieldbyname('chedjra').asString;

@arkoub >>
remarque 1 : pour plus de clarté et de facilité pour récupérer les valeurs, il serait bon de nommer tes aggrégats dans la requête.

reqmarque 2 :
Pour récupérer le contenu d'une requête SQL SELECT, il est totalement inutile d'appeler la méthode ExecSql.,Open suffit. Il ne faut utiliser ExecSql que pour les requêtes ne renvoyant pas de curseur (INSERT, DELETE et UPDATE).

reqmarque 3 : évite d'utiliser FieldValues pour lire ou écrire les valeurs des champs des ensembles de données car ils sont très coûteux en temps de traitement puisque ce sont des variants (propertyFieldValues [const FieldName: string]: Variant;). Utilise plutôt la méthode indiquée par dominique.stock.

May Delphi be with you !
<hr color="#008000" />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.