#954 - Impostare a runtime la query di selezione con SqlDataSource
di Marco Leoncini, in ASP.NET 2.0, DataBinding, SqlDataSource, 15 settembre 2008
Nello script #877 abbiamo visto come impostare a runtime il valore dei parametri delle query eseguite da un SqlDataSource.
Analogamente, è possibile impostare la query. Prendiamo ad esempio il seguente SqlDataSource:
<asp:SqlDataSource ID="GameSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStringDataBase %>" SelectCommand="SELECT [ID], [NomeGioco], [IDGenere] FROM [Giochi] WHERE ([IDGenere] = @IDGenere)" OnSelecting="GameSqlDataSource_Selecting" > <SelectParameters> <asp:ControlParameter ControlID="DropDownList1" Name="IDGenere" type="Int32" /> </SelectParameters> </asp:SqlDataSource>
Una semplice query estrae il nome del gioco in base ad una delle categorie disponibili, selezionata meditante l'uso di una DropDownList, ma in alcuni casi può essere necessario selezionare tutti i giochi indipendentemente dalla categoria.
Creiamo un event handler per l'evento Selecting, in cui la funzione riceve un oggetto del tipo SqlDataSourceSelectingEventArgs, così che mediante la proprietà Command, di tipo DbCommand, imposteremo la query ed elimineremo i parametri non più necessari.
protected void GameSqlDataSource_Selecting(object sender, SqlDataSourceSelectingEventArgs e) { if (DropDownList1.SelectedValue == "0") { e.Command.CommandText = "SELECT [ID], [NomeGioco], [IDGenere] FROM [Giochi]"; e.Command.Parameters.Clear(); } }
Approfondimenti
-
Speciale ASP.NET Charting: grafici per tutti i gusti!
-
ASP.NET WebForm ed il falso mito del markup incontrollabile
-
Real Code Day 4: Web UI: applicazioni con ASP.NET 4.0 e MVC 2.0
-
#982 - Introduzione al databinding con ASP.NET MVC
-
Basta! Italia 2009 - I'll be there!
-
ASP.NET MVC Release Candidate 2
-
Prime impressioni su ASP.NET MVC
-
Speciale Windows Azure: la piattaforma di Microsoft per il cloud computing
-
#976 - ASP.NET ed Entity Framework: query di filtro ed ordinamento con EntityDataSource
-
SqLite vs Access vs Sql Ce 3.5
-
Velocity arriva alla CTP3
-
I nuovi Chart Controls di Microsoft per ASP.NET

















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.