Asp.net passage d une variable a une requete sql

[Résolu]
Signaler
Messages postés
3
Date d'inscription
jeudi 25 mai 2006
Statut
Membre
Dernière intervention
4 septembre 2006
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
bonjour tout le monde
je vous expose mon probleme :
j ai deux  pages asp la premiere pour selectionner des valeurs via un menu deroulant la seconde qui effectue une requete sql dependant des valeurs saisies sur la premiere page.
J arrive a reccuperer les variables de la premiere page dans la seconde mais je n arrive pas a inserer cette variable dans ma requete
voici mon code

premiere page recuperation des donnees
<%

@
Page
Language= "C#"
Debug="true"
AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="_Default" %>
<!

DOCTYPE
html
PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><

html
xmlns="http://www.w3.org/1999/xhtml"
><

head
runat="server">

<title>Page sans titre
</title>

</head><

body>

<form
id="form1"
runat="server">

<div>

&nbsp;</div>
&nbsp;<br
/>

<br
/>

<asp:Label
ID="Label1"
runat="server"
Text="Choix du mois de derniere connection"

Width="241px"></asp:Label>

&nbsp;
&nbsp;
&nbsp;&nbsp;<asp:Label
ID="Label2"
runat="server"
Text="Choix du ann‚e de derniere connection"

Width="241px"></asp:Label><br
/>

&nbsp;<asp:DropDownList
ID="DropDownList1"
runat="server"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">

<asp:ListItem
Value="01">janvier
</asp:ListItem>

<asp:ListItem
Value="02">fevrier
</asp:ListItem>

<asp:ListItem
Value="03">mars
</asp:ListItem>

<asp:ListItem
Value="04">avril
</asp:ListItem>

<asp:ListItem
Value="05">mai
</asp:ListItem>

<asp:ListItem
Value="06">juin
</asp:ListItem>

<asp:ListItem
Value="07">juillet
</asp:ListItem>

<asp:ListItem
Value="08">aout
</asp:ListItem>

<asp:ListItem
Value="09">septembre
</asp:ListItem>

<asp:ListItem
Value="10">octobre
</asp:ListItem>

<asp:ListItem
Value="11">novembre
</asp:ListItem>

<asp:ListItem
Value="12">decembre
</asp:ListItem>

</asp:DropDownList>

&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;

&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;

<asp:DropDownList
ID="DropDownList2"
runat="server"
OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">

<asp:ListItem>2004
</asp:ListItem>

<asp:ListItem>2005
</asp:ListItem>

<asp:ListItem>2006
</asp:ListItem>

<asp:ListItem>2007
</asp:ListItem>

<asp:ListItem>2008
</asp:ListItem>

<asp:ListItem>2009
</asp:ListItem>

<asp:ListItem>2010
</asp:ListItem>

</asp:DropDownList><br
/>

<br
/>

<asp:TextBox
ID="TextBox1"
runat="server"
OnTextChanged="TextBox1_TextChanged"></asp:TextBox><br
/>

<%
if (Session[
"City"] ==
null)

<asp:Button
ID="Button1"
runat="server"
OnClick="Button1_Click"
Text="Button"
/><br
/>

 

</form>

</

body></

html>

et le code pour le bouton est

protected
void Button1_Click(
object sender,
EventArgs e){

Session.Add(

"ann‚e_derniere_connection", DropDownList2.Text);Session.Add(

"mois_derniere_connection", DropDownList1.Text);Response.Redirect(

"Default2.aspx");}

voila ensuite la seconde page

protected
void Page_Load(
object sender,
EventArgs e){

TextBox1.Text = Session[

"mois_derniere_connection"].ToString()+
"/"+Session[
"ann‚e_derniere_connection"].ToString();}
voila pour la recuperation des donnees

et la page avec la requete

<%

@
Page
Language="C#"
AutoEventWireup="true"
CodeFile="Default2.aspx.cs"
Inherits="_Default" %>
<!

DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><

htmlxmlns="http://www.w3.org/1999/xhtml"><

headrunat="server">

<title>Page sans titre
</title><

scriptlanguage="javascript"type="text/javascript">// <!CDATA[

function

Select1_onclick() { 

}

// ]]>

</

script></

head><

body>

<%

string seba;

int sebo;seba = (

string)(Session[
"ann‚e_derniere_connection"]);sebo =

Convert.ToInt16(seba);

if (sebo == 2005){

Response.Write(

"test " + seba +
"/" + sebo+
"\n");%>

<script
type="text/javascript">alert(

"variable recuper‚e");

</script><%}%>

<%

string seb;seb = (

string)(Session[
"mois_derniere_connection"]);Response.Write(

"date derniere connection: " + seb +
"/"+seba);%>

<form
id="form2"
runat="server"
>

&seba;

<br
/>

<br
/>

<asp:TextBox
ID="TextBox1"
runat="server"
OnTextChanged="TextBox1_TextChanged"
Width="398px"></asp:TextBox><br
/>

<input
id="Text1"
type="text"
language="javascript"
onclick="return Text1_onclick()"
/><br
/>

<br
/>

<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:AeXNSConnectionString %>
"

OnSelecting="SqlDataSource1_Selecting"
SelectCommand='SELECT DISTINCT dbo.Inv_Aex_EU_Logon_Users."Last Logon" ,dbo.Inv_AeX_AC_Primary_User."User",dbo.Inv_Aex_AC_Location."Fully Qualified Domain Name" &#13;&#10;FROM (Inv_Aex_EU_Logon_Users JOIN Inv_AeX_AC_Primary_User ON dbo.Inv_AeX_AC_Primary_User._ResourceGuid=dbo.Inv_Aex_EU_Logon_Users._ResourceGuid) JOIN dbo.Inv_Aex_AC_Location ON dbo.Inv_Aex_EU_Logon_Users._ResourceGuid=dbo.Inv_Aex_AC_Location._ResourceGuid&#13;&#10;WHERE YEAR("Last Logon")=2006
AND MONTH("Last Logon")<09
&#13;&#10;ORDER BY "Last Logon"&#13;&#10;&#13;&#10;'>

/*je voudrais que le 2006 soit en fait l annee saisie sur la page precedente pareil pour le mois*/


</asp:SqlDataSource>

<br
/>

<asp:GridView
ID ="GridView1"
runat="server"
AutoGenerateColumns="False"
DataSourceID="SqlDataSource1">

<Columns>

<asp:BoundField
DataField="Last Logon"
HeaderText="Last Logon"
SortExpression="Last Logon"
/>

<asp:BoundField
DataField="User"
HeaderText="User"
SortExpression="User"
/>

<asp:BoundField
DataField="Fully Qualified Domain Name"
HeaderText="Fully Qualified Domain Name"

SortExpression="Fully Qualified Domain Name"
/>

</Columns>

</asp:GridView>

</form></

body></

html>

merci d avance de votre aide
si il y a top de code demander moi de poster plus cible
dans l espoir de vous lire

3 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Salut

Request.Form("mon_champ_Year")

Devrait suffir

reponse court pour long message
Long message --> longue attente pour repondre ;-)
Car donne pas envie de lire
et surtout en couleur.

Un petit exemple est mieux que la page entiere de ton code.

En plus que la question est assez claire.

Il y avait pas besoin de code.

Voila
Messages postés
3
Date d'inscription
jeudi 25 mai 2006
Statut
Membre
Dernière intervention
4 septembre 2006

merci


en fait j ai reussi a me debrouiller tout seul j ai a present un autre probleme :


je recupere des nom de tables d une base sur la premiere page mais dans la seconde pas ma requete sql comprend les variables sauf quand celle ci est un nom de table


SELECT blabla FROM @toto ou toto est un nom de table il me dit que @toto n'est pas un nom de table


j ai essaye [mailto:'@toto' '@toto'] "@toto" mais rien n y fait l interpreteur ne change pas ma variable avant l'execussion de la requete.


Quelqu'un a une idee?


merci d avance
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Salut

Fait la requete en dynaqmique

IE

set @STRSQL = "SELECT * FROM " + @TOTO
EXECUTE @STRSQL

Voila