Sqldatasource.. problema paramettro di selezione facoltativo

mercoledì 03 settembre 2008 - 11.23

dibiax Profilo | Newbie

ho un piccolo problema con un sqldatsource,
l'sqldatasource si popola in base a due parametri, uno fisso e uno che si basa sun una dropdownlist, il problema è questo, il parametro della
dropdownlist deve essere facoltativo, ovvero se seleziono ALL non deve essere preso in considerazione.
Qaulche idea??
grazie
la sapienz mi rincorre ma io sono più veloce!!!!

alx_81 Profilo | Guru

>ho un piccolo problema con un sqldatsource,
>l'sqldatasource si popola in base a due parametri, uno fisso
>e uno che si basa sun una dropdownlist, il problema è questo,
>il parametro della
>dropdownlist deve essere facoltativo, ovvero se seleziono ALL
>non deve essere preso in considerazione.
>Qaulche idea??
Fossi in te scriverei una stored procedure che gestisce il caso del parametro ALL passato.
In un caso selezioni facendo filtro sui due param passati, nell'altro, ne ignori uno.
Una stored tipo:
CREATE PROCEDURE dbo.proc_Ricerca @Param1 int , @Param2 int AS BEGIN SET NOCOUNT ON; -- se mi viene passato -1 nel secondo parametro -- non faccio la query col filtro completo IF @Param2 = -1 SELECT campo1 , campo2 FROM tabella WHERE campo3 = @Param1 ELSE SELECT campo1 , campo2 FROM tabella WHERE campo3 = @Param1 AND campo4 = @Param2 END
>grazie
di nulla!

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

dibiax Profilo | Newbie

per prima cosa grazie..
sarebbe bello , solo che per me non è una cosa fattibile.. sono un po' vincolato..
non esiste un qualche workarond.. sopratutto non esiste una wildchar o costante
che messo nella condizione Select campo from tabella where param1=@par1 and param2="carattere o costante che volgisa dire tutti"?
la sapienz mi rincorre ma io sono più veloce!!!!

alx_81 Profilo | Guru

>per prima cosa grazie..
>sarebbe bello , solo che per me non è una cosa fattibile.. sono
>un po' vincolato..
>non esiste un qualche workarond.. sopratutto non esiste una wildchar
>o costante
>che messo nella condizione Select campo from tabella where param1=@par1
>and param2="carattere o costante che volgisa dire tutti"?
Potresti usare una tecnica tipo..

WHERE
( @param IS NULL OR campo = @param )

In questo modo, se il parametro è NULL ignori il filtro..

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

dibiax Profilo | Newbie

perfetto.. sei un genio.. l'ultima cosa.. come faccio a caricare una Dropdownlist con valore nullo?

per intenderci
<asp:listitem text=tutti value= "valore nullo"> al posto di valoe nullo cosa metto???

Acora grazie per la dritta!!!
la sapienz mi rincorre ma io sono più veloce!!!!

alx_81 Profilo | Guru

>perfetto.. sei un genio.. l'ultima cosa.. come faccio a caricare
>una Dropdownlist con valore nullo?
>
>per intenderci
><asp:listitem text=tutti value= "valore nullo"> al posto
>di valoe nullo cosa metto???
Metti un -1, poi lo gestisci quando valorizzi i parametri..

>
>Acora grazie per la dritta!!!
figurati.

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

dibiax Profilo | Newbie

scusami ma non ho capito cosa intendi..
ho fatto così:

<asp:DropDownList ID="ArticoloDrop" DataSourceID="Articolodata" AutoPostBack="true" DataValueField="Articolo" runat="server" Width="130px" Font-Size="11px" AppendDataBoundItems="true"> <asp:ListItem Text="All" Value="-1"></asp:ListItem> </asp:DropDownList>

così però non và...
la sapienz mi rincorre ma io sono più veloce!!!!

dibiax Profilo | Newbie

scusami.. risolto.. ho messo meno uno come hai detto tu e sulla condizione così.. AND (@ARTICOLO =-1 OR ARTICOLO=@ARTICOLO)
ora va...
grazie ancora!!
la sapienz mi rincorre ma io sono più veloce!!!!

alx_81 Profilo | Guru

>scusami.. risolto.. ho messo meno uno come hai detto tu e sulla
>condizione così.. AND (@ARTICOLO =-1 OR ARTICOLO=@ARTICOLO)
>ora va...
>grazie ancora!!
Esatto..
Se ritieni che ti sia stato di aiuto, accetta il post che chiudiamo il thread
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5