2011-03-16 16 views
5

Essendo nuovo nell'usare la sintassi dichiarativa di SqlDataSource, sto cercando di trovare un modo per impostare il valore di un parametro su una stored procedure. Ho un Client_ID che viene passato tramite l'oggetto Request e ho bisogno di impostare Client_ID prima che venga eseguita la stored procedure di SqlDataSource.Come specificare il valore del parametro per la stored procedure in SqlDataSource

Ho un paio di domande.

  1. Vuol il parametro di stored procedure devono essere predefinito nel codice ASPX o può essere aggiunto in modo dinamico nel code-behind?

  2. Qualcuno dovrebbe avere un esempio che mostri il markup SqlDataSource con una procedura e un parametro memorizzati oltre a impostare il valore del parametro in code-behind?

risposta

9

Con .net framework 4 è possibile ...

1.It possono essere aggiunti in modo dinamico, ma si dovrebbe fornire il proprio generatore di espressioni di codice (per ulteriori informazioni see here) 1.1 È inoltre possibile utilizzare diversi parametro per raggiungere lo stesso obiettivo, come:

enter image description here

2.

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:yourConnectionString %>" 
    SelectCommand="YourStoreProcedure" SelectCommandType="StoredProcedure"> 
    <SelectParameters> 
    <asp:ControlParameter Name="yourParameterName" ControlID="controlThatHoldsParameterValue" PropertyName="Text" /> 
    </SelectParameters> 

3

Questo è un esempio abbastanza approfondita di utilizzare query con parametri (stored procedure e testo) con SqlDataSource, compresi i parametri di impostazione a livello di codice. ASP.NET - Using Parameterized Queries with the SqlDataSource.

+1

Mentre questo link può rispondere alla domanda, è meglio per includere le parti essenziali della risposta [qui] (http://meta.stackoverflow.com/a/8259) e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. – bummi

0
<asp:SqlDataSource ID="ADSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ADConnection %>" 
    SelectCommand="GetProfile" SelectCommandType="StoredProcedure"> 
    <SelectParameters> 
     <asp:ControlParameter ControlID="InputTextBox" Name="Host" PropertyName="Text" Type="String" /> 
    </SelectParameters> 
</asp:SqlDataSource> 

getProfile è il nome proc memorizzato e Host è il nome del parametro, che è retreived da un texbox chiamato InputTextBox

Problemi correlati