Bonjour,
Je débute en asp.net. J'ai commencé un site web tout en asp. Sur une page j'ai créé un formulaire de recherche.
Les resultats sont afficher dans un gridview lié à une base de donnée oracle.
Je veux me servir des textbox et autres dropdownlist du formulaire de recherche comme des paramètre de la commande select de ma source de donnée.
Je me suis servit de ce tuto : http://www.aspfr.com/codes/CONSTRUCTION-SELECTCOMMAND_36050.aspx
Si j'utilise un paramètre (ex nom) la requete marche, si j'utilise 2, 3 ou plus de paramètres sa bugue et je ne sais pas pourquoi.
(Tout est en code behind a la demande de mon patron.)
Voici un extrait du code.
Code Visual Basic :
Protected Sub BtnRechercher_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnRechercher.Click
Oim()
End Sub
Protected Sub Oim()
Dim Sc As String = ""
Dim io As Integer = 0
Me.OracleDataSource1.SelectParameters.Clear()
Sc = "SELECT * FROM eleve"
If DDLciv.SelectedValue <> -1 Then
Me.OracleDataSource1.SelectParameters.Add("civ", DDLciv.SelectedValue)
Sc = Sc & " WHERE ((civ = ?))"
Me.OracleDataSource1.SelectParameters("civ").DefaultValue = DDLciv.SelectedValue
io = 1
End If
If Not TBnom.Text = String.Empty Then
Me.OracleDataSource1.SelectParameters.Add("nom", TBnom.Text)
If io = 0 Then
Sc = Sc & " WHERE ((nom = '?'))"
io = 1
Else
Sc = Replace(Sc, "))", ") AND (nom = '?'))")
End If
Me.OracleDataSource1.SelectParameters("nom").DefaultValue = TBnom.Text
End If
If Not TBprenom.Text = String.Empty Then
Me.OracleDataSource1.SelectParameters.Add("prenom", TBprenom.Text)
If io = 0 Then
Sc = Sc & " WHERE ((prenom = '?'))"
io = 1
Else
Sc = Replace(Sc, "))", ") AND (prenom = '?'))")
End If
Me.OracleDataSource1.SelectParameters("prenom").DefaultValue = TBprenom.Text
End If
Me.OracleDataSource1.SelectCommand = Sc
End Sub
le code aspx correspondant :
Code ASP.NET :
<asp:SqlDataSource ID="OracleDataSource1"
ConnectionString="<%$ ConnectionStrings:******* %>"
ProviderName="<%$ ConnectionStrings:*******.ProviderName %>"
OnSelecting="BtnRechercher_Click"
runat="server" >
</asp:SqlDataSource>
Est ce que vous auriez une idée ?
Merci d'avance
c4sp