Requete sous delphi

Résolu
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014 - 26 mai 2011 à 13:15
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014 - 31 mai 2011 à 20:03
Bonjour à tous,
je travaille sur une application sur delphi7 qui gère une BDD créée en sql
j'ai essayé la requête suivant :

with ADOQuery1 do begin

Active := False;
SQL.Clear;
sql.add('SELECT Champ1 AS Champ1Champs,Count(Champ1) AS NombreDeDbls FROM BNTrain');
sql.add('GROUP BY Champ1');
sql.add('HAVING(Count (Champ1)>=1)');

ExecSQL;
Active :=TRUE;
end;
et ça a marché mais je veux l’écrire sans les sql.add
j'ai essayé ça ça ma affiché une erreur au niveau de la clause by
.
.
.
with ADOQuery1 do begin

Active := False;
SQL.Clear;
sql.add('SELECT Champ1 AS Champ1Champs,Count(Champ1) AS NombreDeDbls FROM BNTrain'
+'GROUP BY Champ1');
+'HAVING(Count (Champ1)>=1)');

ExecSQL;
Active :=TRUE;
end;

ma requête contient des erreurs de syntaxe je veux que vous me le corrigiez SVp
Cordialement

5 réponses

fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
26 mai 2011 à 13:49
Bonjour

pourquoi ne pas ecrire ceci
sql.add('SELECT Champ1 AS Champ1Champs,Count(Champ1) AS NombreDeDbls FROM BNTrain GROUP BY Champ1 HAVING(Count (Champ1)>=1)');


A+
3
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
26 mai 2011 à 14:10
Bonjour,

ne pas oublier les espaces quand tu concatènes des chaînes :

sql.add('SELECT Champ1 AS Champ1Champs '
+ ' ,Count(Champ1) AS NombreDeDbls FROM BNTrain '
+ ' GROUP BY Champ1 '
+ ' HAVING(Count (Champ1)>=1)');

Luc.
3
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014
27 mai 2011 à 10:41
Bonjour
Merci Fbalien ça marché sans les add.sql et sans +
et merci beckerich c'était un probléme d'espace ça a marché aussi
je vous remerci ts les deux encore
0
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014
27 mai 2011 à 22:19
Un autre petit soucis
j'espére trouver la réponse ici j'ai rajouté une opération a l'interieur de la requete
sql.add('SELECT Champ1 AS Champ1Champs '
+ ' ,(Count(Champ1)/20) AS NombreDeDbls FROM BNTrain '
+ ' GROUP BY Champ1 '
+ ' HAVING(Count (Champ1)>=1)');

Qui est dans count(champ1)/20) mais le résultat affiche que la partie entiére !!!!!!! et moi je cherche a ce qu'il soit en réel
SVP si vous avez une astuce (j'ai essayé avec cast mais ça a générer une exception !!)
Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014
31 mai 2011 à 20:03
0
Rejoignez-nous