SQL count [Résolu]

Signaler
Messages postés
23
Date d'inscription
mercredi 18 janvier 2006
Statut
Membre
Dernière intervention
2 avril 2008
-
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
salut à tous.
J'ai un problème avec cette requète:
ind:=ADOQuery2.SQL.add('SELECT COUNT(Classe) FROM Attributs WHERE Classe = ABCDEF;');
Normalement elle doit me donner le nombre d'enregistrment avec ABCDEF dans la colonne Classe mais elle me renvoi toujours 0, peut importe le nombre présent dans la table. C'est po cool ça. merci de votre aide.

5 réponses

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
La méthode Add de la propriété SQL renvoie l'indice de la chaine ajoutée. La propriété SQL étant de type TStringList, regarde dans l'aide en ligne pour en savoir plus à son sujet.
Par ailleurs, pour faciliter la récupération du résultat de la requête, il est impératif de nommer l'aggrégat :
ADOQuery2.SQL.add('SELECT COUNT(Classe) AS result FROM Attributs WHERE Classe = " ABCDEF";');
ADOQuery2.Open;

Puis récupération du résultat dans un entier (resultat: integer) :

resultat = ADOQuery2.FieldByName('result').AsInteger;


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Je pense qu'il suffirait de délimiter la chaine "ABCDEF"...

<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Messages postés
23
Date d'inscription
mercredi 18 janvier 2006
Statut
Membre
Dernière intervention
2 avril 2008

Oui j'ai déjà essayé mais c'est sans effets. Toujours 0.
Messages postés
113
Date d'inscription
mercredi 29 novembre 2000
Statut
Membre
Dernière intervention
16 avril 2006

Avec cette méthode, il ne faut pas faire un sqlexecute? mais si ca ne marche pas, met ta requete dans le datamodule et execute la dans le code
Messages postés
23
Date d'inscription
mercredi 18 janvier 2006
Statut
Membre
Dernière intervention
2 avril 2008

Je ne l'execute pas avec sqlexecute mais open. ind est toujours à 0, mais peut être que qu'on ne peut pas faire:
ind:=adoquery....... Je sais pas si c'es possible.