Requête Select avec like

Signaler
Messages postés
65
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
29 mars 2011
-
ramy04804001
Messages postés
65
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
29 mars 2011
-
Salut ,

je fait une requête sélect ou je veut récupérer des données sauf que le contenu du champs mot_clé contient le mot taper par l'utilisateur voici ma requête :

String requeteSelect ="select * from texte where mot_clé like '"+cbx_mc.getSelectedItem().toString()+"'" ;

Merci.

7 réponses

Messages postés
65
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
29 mars 2011
1
Salut,

j'ai trouver cette solution mais malheuresement toujours elle donner la solution sur le premier champs selectionner et non pas d'autre au centre et a la fin du chaine voici ma requete :

String requeteSelect ="select * from DOC_XML where Numero='"+txt_num.getText()+"' or Date= '"+date.getDate()+/*"' or Nom= '"+cbx_typ.getSelectedItem().toString()+*/"' or Mot_Clé like '%"+cbx_mc.getSelectedItem().toString()+"%'";

merci bien
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
25
Salut,

Peux-tu mieux expliquer?

utilises les requêtes paramétrées aussi c'est mieux pour la compréhension
la sécurité et les performances.
lien vers le JDK

si je comprends bien
/*"' or Nom= '"+cbx_typ.getSelectedItem().toString()+*/

est en commentaire (utilises la balise code)

Donc tu as 3 conditions
Mot_Clé like '%"+cbx_mc.getSelectedItem().toString()+"%'; 

Numero='"+txt_num.getText()+"' 

Date= '"+date.getDate()+'


Evites d'utiliser un mot du langage comme noms de colonnes Date
Evites d'utiliser des accents dans les noms de colonnes.

Merci



Merci
Messages postés
65
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
29 mars 2011
1
Salut,

bon tous marche bien mais mon problème c au niveau de la condition :
Mot_Clé like '%"+cbx_mc.getSelectedItem().toString()+"%';

le contenu de mot_clé c en faite une chaine de caractère caractériser par un ensemble des chaine trouve dans le combo cbx_typ cad que chaque chaine choisi c trouver dans mot_clé malheureusement lorsque je choisi par exemple une mot de la chaine trouver au centre ou bien a la fin le programme ne passe pas par contre au debut tourne bien cad sauf le premier mot .

merci
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
25
Je ne comprends pas trop ce que tu dis.

Tu as quoi comme comportement :

Prends un exmple pour expliquer plutot que des mots c'est plus parlant
%TOTO% -->
ATOTOB --> OK
ATOTO --> KO
TOTOB --> KO
TOTO --> KO

C'est ca que tu as ??

Tu utilises quoi comme base de données?

cbx_mc.getSelectedItem().toString() n'a pas d'espace superflu??

isoles le comportement pour bien comprendre le probleme ?
Messages postés
65
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
29 mars 2011
1
salut

voici une exemple :

Zidane est un grand jouer .

mon combo contient :
Zidane
est
un
grand
jouer

lorsque je sélectionne Zidane la requête ça passe bien
lorsque je sélectionne est,un,grand ou bien jouer la requête ne passe pas
par contre moi je veut toute les positions ...

ma base c accees et ma problème je pense que c au niveau like !
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
25
OK

Si c'est access utilises * à la place de %.


http://office.microsoft.com/en-gb/access-help/like-operator-HP001032253.aspx

Mais tu n'auras pas eu ce probleme,il me semble avec les requetes paramétrées?
Je ne vois pas pourquoi ca passe avec le premier cas.
Messages postés
65
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
29 mars 2011
1
salut

si le premier cas retourne une solution avec le premier caractère avec * rien ne retourne !

en faite merci bien .