[débutant] Requête avec MysqlAdapter et LIKE

Signaler
Messages postés
11
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
2 février 2009
-
Messages postés
168
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
28 novembre 2012
-
Bonjour à tous,

J'ai un souci .. j'aimerais exécuter une requête sur un serveur mysql ( jusqu'ici tout va bien ) Mais lorsque je veux faire une requete de type

string com = "SELECT * FROM matable where nom LIKE '?nom%'"

cela ne marche pas ..

il semblerait que ce soient les simple quote qui posent problème car si je les enleve et remplace le like par = alors ça fonctionne...

mais j'ai absolument besoin d'un LIKE et de mettre un %   ( afin de lister par exemple les noms commençant par la lettre saisie etc.. )

please help me ..

comment parser cette histoire ??

par avance merci

4 réponses

Messages postés
168
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
28 novembre 2012
6
En supposant que 'nom' est ton paramètre, tu as deux options:

1-  string com = "SELECT * FROM matable Where nom LIKE " + "?" + nom.ToString() + "%" (en fait c'est simplement une concaténation de chaines de strings)

2- tu utilises une requête paramétrée avec un paramètre nommé (@nom) comme suis

string com = "SELECT * FROM matable Where nom LIKE @nom"

ensuite tu fais:

TaCommand.Parameters.Add("@nom", MySqlDbType.VarChar,50).Value = "?"+ TaValeur.ToString() +"%"

Only the strong survive !
Messages postés
11
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
2 février 2009

La deuxieme solution ne marche pas.. enfin, comme je voudrais ...

dans l'état elle ne me sort aucun résultat, et si j'enleve l'encapsulation "?" +       et "%" elle me sort comme un égal ..

elle ne prend donc pas en compte le "%" qui sert grandement à la requete... :'(
Messages postés
11
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
2 février 2009

ok c'est bon j'ai trouvé ...

Merci en tous cas pour ton aide.

Après avoir répondu j'ai réalisé que dans le cas où celà marchait, je ne mettais donc pas le "?" +             mais en laissant le     +"%"     à la fin, ça a marché niquel

Merci
Messages postés
168
Date d'inscription
mardi 27 juillet 2004
Statut
Membre
Dernière intervention
28 novembre 2012
6
Heureusx de constater que ça marche ! Haapy coding...

Only the strong survive !