Selezione multipla di valori ed esecuzione query

mercoledì 14 maggio 2008 - 22.29

squilibrio Profilo | Expert

Ciao a tutti, spero che sia il newsgroup adatto.

Vorrei inserire un oggetto per la selezione multipla di valori (non un dropdownlist) e dai valori selezionati passare i valori ad una SP.... come posso gestire questa situazione?

Nel dettaglio ho un elenco di province e vorrei eseguire nella stored procedura una select per le province selezionate

Grazie mille!

alx_81 Profilo | Guru

>Ciao a tutti,
Ciao!
>
>Vorrei inserire un oggetto per la selezione multipla di valori
>(non un dropdownlist) e dai valori selezionati passare i valori
>ad una SP.... come posso gestire questa situazione?
Potresti utilizzare un listbox a selezione multipla:

ListBox Web Server Control
http://msdn.microsoft.com/en-us/library/a8ec8691.aspx

Impostando la proprietà SelectionMode a Multiple nell'aspx:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listbox.selectionmode(VS.80).aspx

>Nel dettaglio ho un elenco di province e vorrei eseguire nella
>stored procedura una select per le province selezionate
Una volta che tramite pressione dei tasti CTRL o MAIUSC hai selezionato n elementi, puoi creare una stringa di codici separati da virgola (il codice della provincia, che può essere anche un numerico).
Una volta passato questo varchar alla stored procedure puoi scegliere di:

- Trasformare la stringa in una tabella splittando per il separatore degli elementi e utilizzarla per effettuare la join che screma la ricerca
- Creare un SQL dinamico utilizzando la IN(tuastringa) ed eseguirlo con la sp_Executesql

>Grazie mille!
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

squilibrio Profilo | Expert

Grazie mille, potresti farmi un esempio su come gestire semplicemente nella SP questa selezione di valori?


Grazie

alx_81 Profilo | Guru

>Grazie mille, potresti farmi un esempio su come gestire semplicemente
>nella SP questa selezione di valori?
Questi sono esempi di come passare la stringa con separatore ad una function che torna una tabella da usare in join per scremare i dati:

Funzione di Split di Sandro Bizioli
http://blogs.dotnethell.it/sandro/Funzione-Split-in-SQL__2784.aspx

Discussione su SQLTeam (SQL Server Forums)
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648

Paragrafo "Passare un array di dati ad una stored procedure" di MSDN Tips & Tricks di Davide Mauri
http://msdn.microsoft.com/it-it/library/cc185040.aspx

Quando ottieni la tabella, la metti in INNER JOIN con la tua query sul campo ottenuto dalla split ed il gioco è fatto..
>
>
>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

squilibrio Profilo | Expert

Non ho capito niente

alx_81 Profilo | Guru

>Non ho capito niente
???
In quei link c'è scritto per filo e per segno come fare una funzione alla quale passare una stringa separata da un carattere. La funzione a sua volta ritorna una tabella con i valori "splittati". Ora dovrai utilizzare il risultato di quella funzione per ottenere i valori che ti hanno passato nella stored procedure. Quando hai la tabella, la puoi usare in join con altre per filtrare i record ad esempio..

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

squilibrio Profilo | Expert

Avevi ragione!!!

Grazie mille!
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5