Utiliser une variable dans une requête SQL

Utiliser une variable dans une requête SQL - Delphi/Pascal - Programmation

Marsh Posté le 25-04-2003 à 15:16:33    

Bon, nouveau pb.. (Vous commencez à être habitués  :p )
 
Cette fois, je souhaite effectuer une requête SQL
mais elle foire lorsque je veux lui mettre un paramètre
de ma procédure..
 

Code :
  1. procedure TBidule.Machin(param: string);
  2. begin
  3. ...
  4.   SQL.Add('select NOM,COUNT(*) from "TABLE"'+
  5.           ' group by NOM having NOM=:param');
  6.   Open;
  7. ...
  8. end;


 
C'est bien avec les ':' que l'on insère un paramètre ??
Sinon, je me demande si ce n'est pas le "HAVING"
qui merde, car ça met 'Fonctionnalité non supportée'..
 
Merci.

Reply

Marsh Posté le 25-04-2003 à 15:16:33   

Reply

Marsh Posté le 25-04-2003 à 15:22:25    

ben si ton parametre est un string tu fais

Code :
  1. SQL.Add('select NOM,COUNT(*) from "TABLE"'+
  2.          ' group by NOM having NOM='+param');


 

Reply

Marsh Posté le 25-04-2003 à 15:32:42    

Ca marche tjs pas..
On dirait qu'il n'aime pas la HAVING
==> 'Fontionnalité non supportée'
 
Au pire c'est pas bien grave, je l'ai
fait sans le HAVING, et je fais un test
ensuite pour voir si c'est égal à mon
paramètre.
Il passe un peu plus de temps, mais
ça marche  :)  
 
 :jap:

Reply

Marsh Posté le 25-04-2003 à 18:24:35    

les chaines doivent être entre quotes :
 
SQL.Text := 'select NOM,COUNT(*) from "TABLE"'+
         ' group by NOM having NOM = ' + QuotedStr(param);
 
Sinon tu mets un where à la place...


Message édité par antp le 25-04-2003 à 18:25:52

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

Marsh Posté le 25-04-2003 à 18:32:11    

Ouai, j'avais mis aussi les doubles-quotes
 
Mais là c'est bon, j'ai modifié ma requête
et mon programme fonctionne jusque là ;)
 
Merci et sûrement à lundi ;))))

Reply

Sujets relatifs:

Leave a Replay

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