Souci avec la structure du SQL dans un Query
Bonjour à toutes et à tous,
Je viens demander de l'aide ici car j'ai un petit souci aujourd'hui.
J'avais à l'origine une requête de ce genre :
Code:
1 2 3
| select d.*
from demande d
where d.id = :ID_DEMANDE |
dans mon query et dont je renseignais le seul paramètre ID_DEMANDE en passant par le ParamValues.
Aujourd'hui, il y a un des champs du select que je veux voir à vide ou avec la valeur du champ initial en fonction d'une question posée à l'utilisateur.
Je m'explique.
Si je veux détailler le select, j'aurai :
Code:
1 2 3
| select d.id, d.date_demande, d.montant, d.statut, d.supprime
from demande d
where d.id = :ID_DEMANDE |
Si l'utilisateur dit qu'il ne veut pas voir le statut sur l'interface, j'aimerai pouvoir faire par exemple :
Dans le SQL :
Code:
1 2 3
| select d.id, d.date_demande, d.montant, :STATUT as statut, d.supprime
from demande d
where d.id = :ID_DEMANDE |
Dans le code Delphi :
- avoir dans le cas où je veux l'afficher ->
Code:
IBQDemande.Params.ParamValues['STATUT'] := 'd.statut'
- avoir dans le cas où je veux pas l'afficher ->
Code:
IBQDemande.Params.ParamValues['STATUT'] := 'NULL'
Le souci, c'est que tel quel, ça me retourne l'erreur :
"Le projet XXX a déclenché la classe d'exception EIBInterbaseError avec le message 'Dynamic SQL Error SQL error code = -804 Data Type unknown'.
Je pense que c'est parce qu'en insérant les valeurs de paramètres, je dois me retrouver avec le SQL suivant :
Code:
1 2 3
| select d.id, d.date_demande, d.montant, 'd.statut' as statut, d.supprime
from demande d
where d.id = :ID_DEMANDE |
et du coup il ne l'interprèterait pas.
Quelqu'un aurait une idée ?
Merci par avance :D