Comment construire une selectcommand avec un where en fonction des textbox remplis...
Source / Exemple :
j'ai mis des textbox, un bouton, un sqldatasource et une gridview sur ma page :
ensuite j'ai construit ma requête juste avec un select que j'ai effacer (le select) juste après ça donne :
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings: ConnectionString3%>">
<SelectParameters>
<asp:Parameter DefaultValue="%" Name="nom" Type="String" />
<asp:Parameter DefaultValue="%" Name="prenom" Type="String" />
.....
</SelectParameters>
</asp:SqlDataSource>
ensuite en vb j'ai fais :
Protected Sub Oim()
Dim Sc As String = ""
Dim io As Integer = 0
Sc = "SELECT [nom], [prenom], [surnom], [dn], [ln], [dept], [pays] FROM [clients]"
If Not TbNom.Text = String.Empty Then
Sc = Sc & " WHERE (([nom] LIKE @nom + '%'))"
Me.SqlDataSource1.SelectParameters("nom").DefaultValue = TbNom.Text
io = 1
End If
If Not TbPrenom.Text = String.Empty Then
If io = 0 Then
Sc = Sc & " WHERE (([prenom] LIKE @prenom + '%'))"
io = 1
Else
Sc = Replace(Sc, "))", ") AND ([prenom] LIKE @prenom + '%'))")
End If
Me.SqlDataSource1.SelectParameters("prenom").DefaultValue = TbPrenom.Text
End If
Me.SqlDataSource1.SelectCommand = Sc
End Sub
ensuite le code de mon bouton pour faire disparaître la gridview et le precedent resultat si on fais une recherche avec rien dans les champs ... :
Protected Sub BtnRechercher_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnRechercher.Click
If TbNom.Text = String.Empty And TbPrenom.Text = String.Empty Then
Selectparamdefault() 'remet tout les Me.SqlDataSource1.SelectParameters("nom").DefaultValue = "" ... pareil pour les autres
Else
Oim()
End If
End Sub
voila voila si vous pouvez me dire ce que vous en pensez ou si cela peu aider quelqu'un...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.