Requete Like [Résolu]

Signaler
Messages postés
346
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
24 avril 2010
-
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
-
   Bonjour, je souhaite savoir comment faire une requête paramétré en utilisant la clause like.
Voila mon code je l'ai essayé mais ca ne marche pas :

strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["NSConnectionString"].ConnectionString;
        cn = new SqlConnection(strConnection);

        try
        {

            cn.Open();

            string requete = "select * from PROFILE where profile_shortname Like @Profile_Shortname";
            // Ici Je veux faire Like'%@Profile_Shortname%'
            SqlCommand cm = new SqlCommand(requete, cn);
           

            SqlParameter parm1 = cm.Parameters.Add("@Profile_Shortname", SqlDbType.VarChar, 50);

            parm1.Value =  Profile_Shortname_TextBox.Text.ToString();
         
           
            SqlDataAdapter Profiles_search_DataAdapter = new SqlDataAdapter(cm);

            DataTable Profiles_search_DataTable = new DataTable("PROFILE");

            Profiles_search_DataAdapter.Fill(Profiles_search_DataTable);

            int dataTableRowCount = Profiles_search_DataTable.Rows.Count;

            Response.Write("NBR= " + dataTableRowCount);

            if (dataTableRowCount > 0)
            {

                Profile_Search_GridView.DataSource = Profiles_search_DataTable;
                Profile_Search_GridView.DataBind();

            }
        }
        catch (Exception E)
        {
            Profile_Label.Text = E.Message.ToString();
        }

        finally
        {

            cn.Close();
            cn.Dispose();
            Profile_Search_GridView.DataBind();
        }
        

Merci

6 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
60
Et ta requête est bien :

"select * from PROFILE where profile_shortname Like @Profile_Shortname" ?

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
346
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
24 avril 2010

    Oui et quand j'ai mis le code que vous m'avez donnée, je n'ai plus de résultat même si je donne quelque chose qui existe.
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
60
Re-hello,


Je viens de créer une table chez moi pour essayer, j'ai copier-coller ton code, en changeant juste ça :









string
requete =

"select * from PROFILE where profile_shortname Like @Profile_Shortname"

;


// Ici Je veux faire Like'%@Profile_Shortname%'

SqlCommand
cm =

new



SqlCommand


(requete, cn);


SqlParameter
parm1 = cm.Parameters.Add(

"@Profile_Shortname"
,

SqlDbType


.VarChar, 50);
parm1.Value =
String.Format(
"%{0}%",
"asd");





Et chez moi, ça fonctionne ( dataTableRowCount
>0)

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
12
pas mieux que sharpmao : parm1.Value =  "%" + Profile_Shortname_TextBox.Text.ToString() + "%";

<hr />Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
60
Salut à toi,

Essaie comme ça :

parm1.Value =  String.Format("%{0}%",Profile_Shortname_TextBox.Text);

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
346
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
24 avril 2010

    Bonjour, Merci pour votre réponse, j'ai essayé mais aucun résultat