Requete SQL / Recherche un morceau du champ

DilleN Messages postés 10 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 13 janvier 2011 - 22 nov. 2010 à 15:36
Shaolyne Messages postés 155 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 8 mars 2011 - 22 nov. 2010 à 16:40
Bonjour à tous,

Je suis entrain de créer une application pour faire une gestion de produits.

Voici une page de l'appli :




Je cherche a faire une requête SQL, pour rechercher un morceau/bout du mot
En gros dans ma table j'ai plein de produits
Coude C1B3
Coude C3B3
Si je tape juste "Coude", dans ma TextBox (TxtRechR.Text) j'aimerais pouvoir afficher tout ceux qui ont cette partie du champ

Voici ma requete :
("SELECT * FROM produits where nom='" + txtRechR.Text + "'", conn);

Je n'arrive pas à utiliser le LIKE.

Merci

2 réponses

DilleN Messages postés 10 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 13 janvier 2011
22 nov. 2010 à 16:34
Suite à de multiples recherches

("SELECT * FROM produits WHERE nom LIKE '" + txtRechR.Text + "%'", conn);

La requete fonctionne.
0
Shaolyne Messages postés 155 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 8 mars 2011 1
22 nov. 2010 à 16:40
Salut!

Tu dois utiliser le caractère réservé %. Ce dernier se traduit par, dans le cadre d'une requête SQL, "n'importe quel caractère (chiffre et lettre) un nombre de fois indéterminé (0 - N)".
Ta requête peut donc se présenter comme suit:
SELECT * FROM produits where nom like '" + txtRechR.Text + "%'"

Par contre, j'insiste sur l'utilisation de paramètres. En effet, tu t'expose à des SQL injections en utilisant "txtRechR.Text" directement dans ta requête. Préfères donc ce genre d'utilisation :
("SELECT * FROM produits where nom like @productName + '%'", conn);
cmd.Parameters.Add(new SqlParameter("@productName", txtRechR.Text)


Shao.
0
Rejoignez-nous