OracleDataSet : paramètre dans un 'IN'

cs_manudel Messages postés 63 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 7 mars 2005 - 5 nov. 2002 à 19:07
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 5 nov. 2002 à 20:01
J'ai un composant de type TOracleDataSet.
J'ai une requête SQL dans mon OracleDataSet.

Dans ma clause WHERE, j'ai notamment ceci :
AND EVEN_TYP_EVT IN (:TypeEvt)

Je vérifie avec le mode debug de mon OracleDataSet, que les paramètres que je lui envoie sont bien passés correctement.
exemples pour TypeEvt :
-> 'C'
-> 'C','P'

L'OracleDataSet ne me renvoie aucune donnée, or :
- quand je fais une requête sur la base, j'ai des données

- si je supprime la ligne avec le 'IN' dans ma clause WHERE, j'ai bien des données.

Dois-je en conclure que ce n'est pas possible de passer des paramètres dans un 'IN' (que la chaîne de caractères ait une seule composante ou deux composantes) ?

Est-ce que l'on est limité au '=' ??

1 réponse

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
5 nov. 2002 à 20:01
As-tu mis entre quotes ton paramètre TypeEvt ?

Sinon, je te recommande l'utilisation de la fonction QuotedStr (surtout si tu dois passer des paramètres chaines).
Cette fonction analyse le paramètre transmis et renvoie une chaine avec autant de quotes qu'il faut et au bon endroit.
En revanche, dans le ceuxième cas que tu cites ('C','P' ), là ça me semble plus délicat (sauf si tu mets des double quotes autour des caractères).

May Delphi be with you
0
Rejoignez-nous