Aide sur une requete SQL

Résolu/Fermé
spektrum Messages postés 28 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 1 octobre 2011 - 20 janv. 2010 à 10:04
Siegels Messages postés 25 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 27 janvier 2012 - 20 janv. 2010 à 20:42
Bonjour,
j'ai une requete SQL que je vais appeler d'un programme java
SELECT * FROM ANNONCES
WHERE VILLE =?
AND ETAT_ENGIN=?
par exemple lorsque le client choisit toutes les villes, que dois je envoyer à cette requete pour quelle ignore la condition sur VILLE, parcequ'enfait le client a choisi de voire toutes les villes
Merci

3 réponses

Siegels Messages postés 25 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 27 janvier 2012 1
20 janv. 2010 à 10:57
Pourquoi ne pas faire la différence dans le programme directement ?

Par exemple:
Si l'utilisateur choisit "toutes les villes", on met dans la variable ville la valeur ""
Et après, avec un test conditionnel, on regarde selon la valeur de ville:

Si ville est une chaine vide, alors requete pour toutes les villes
Sinon, requete pour la ville.

Avec un = dans la clause WHERE, je ne vois que ça.
0
spektrum Messages postés 28 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 1 octobre 2011
20 janv. 2010 à 16:44
Merci Siegels comme t'as dit j'ai fait la difference directement dans le programme, mais notez que j'ai posé cette question parceque dans le fameux livre Core Java ils nous conseillent d'utiliser SQL au lieu de java au maximum dans l'ecriture des requetes.
0
Siegels Messages postés 25 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 27 janvier 2012 1
20 janv. 2010 à 20:42
Oui enfin quand même étant donné que SQL (et seulement SQL, sans SQL*PLUS avec Oracle) n'est pas un langage de programmation, il ne peut pas vérifier tout seul que l'argument de ville a été fourni, et agir en conséquence. Le traitement se fait donc en java dans la logique =)
0