arkoub
Messages postés10Date d'inscriptionmardi 23 mai 2006StatutMembreDernière intervention 4 novembre 2009
-
9 mai 2008 à 14:40
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
9 mai 2008 à 21:58
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
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 9 mai 2008 à 21:58
@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.