Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Store Procedure con DDL
mercoledì 05 novembre 2008 - 18.39
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gae58
Profilo
| Senior Member
467
messaggi | Data Invio:
mer 5 nov 2008 - 18:39
salve, mi servirebbe un chiarimento sulla logica e su come vengono eseguite le SP.
uso MSSQL
Ho DDL1 con collegata a Tabella1
Ho DDL2 con collegata a Tabella2
entrambe le DDL sono collegate attraverso le rispettive SP.
DDL1 ha autoPostBack True
Vorrei che alla scelta di un elemento in DDL1 venga filtrata DDL2 se DDL1 uguale Tutti, in DDL2 vengano visualizzati tutti i movimenti.
La SP di DDL2 l'ho scritta così:
ALTER PROCEDURE dbo.SchedaAZRichTitoSP
(
@Codice nvarchar(4) = NULL,
@ddlCodi nvarchar(1) = "T"
)
AS
IF @Codice = @ddlCodi
SELECT DISTINCT Codice FROM
ELSE
SELECT DISTINCT Codice FROM SchedaAZ
WHERE Codice = @Codi
ORDER BY Codice
RETURN
Penso che a questo punto sceglindo l'elemento in DDL1 venga eseguita anche la SP della DLL2.
E' così oppure devo inserire la SP della DDL2 nella DDL1?
Spero di essere stato chiaro
Gaetano
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 5 nov 2008 - 21:06
>uso MSSQL
Bene.
>Ho DDL1 con collegata a Tabella1
>
>Ho DDL2 con collegata a Tabella2
Cos'è DDLx?
>entrambe le DDL sono collegate attraverso le rispettive SP.
Che significa?
>DDL1 ha autoPostBack True
Cos'è?
>Vorrei che alla scelta di un elemento in DDL1 venga filtrata
>DDL2 se DDL1 uguale Tutti, in DDL2 vengano visualizzati tutti
>i movimenti.
Argh
>La SP di DDL2 l'ho scritta così:
>ALTER PROCEDURE dbo.SchedaAZRichTitoSP
> (
> @Codice nvarchar(4) = NULL,
> @ddlCodi nvarchar(1) = "T"
> )
>AS
>
> IF @Codice = @ddlCodi
> SELECT DISTINCT Codice FROM
> ELSE
> SELECT DISTINCT Codice FROM SchedaAZ
> WHERE Codice = @Codi
> ORDER BY Codice
>RETURN
Non ci credo dato che quel codice è errato
>Spero di essere stato chiaro
Sono più di 10 anni che seguo forum e newsgroup, ma difficilmente ho trovato un quesito così poco chiaro
Posta TUTTI i comandi T-SQL di CREATE TABLE, INSERT INTO, ecc. spiegando dettagliatamente il risultato che vorresti ottenere partendo da quei dati.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
gae58
Profilo
| Senior Member
467
messaggi | Data Invio:
lun 10 nov 2008 - 19:12
Chiedo scusa per la mancanza di chiarezza.
CREATE TABLE dbo.ProvaTab(
Ti nvarchar(4) NOT NULL,
Ri nvarchar(4) NOT NULL,
Descrizione nvarchar(50) NULL
) ON [PRIMARY]
INSERT INTO ProvaTab VALUES('1', 'B', 'bbbbbbbbbbbbbb');
INSERT INTO ProvaTab VALUES('2', 'C', 'cccccccccccccc');
INSERT INTO ProvaTab VALUES('2', 'D', 'dddddddddddddd');
INSERT INTO ProvaTab VALUES('3', 'E', 'eeeeeeeeeeeeee');
INSERT INTO ProvaTab VALUES('3', 'F', 'ffffffffffffff');
INSERT INTO ProvaTab VALUES('4', 'G', 'gggggggggggggg');
INSERT INTO ProvaTab VALUES('4', 'H', 'hhhhhhhhhhhhhh');
INSERT INTO ProvaTab VALUES('5', 'I', 'iiiiiiiiiiiiii');
INSERT INTO ProvaTab VALUES('5', 'L', 'llllllllllllll');
INSERT INTO ProvaTab VALUES('6', 'M', 'mmmmmmmmmmmmmm');
INSERT INTO ProvaTab VALUES('6', 'N', 'nnnnnnnnnnnnnn');
SP della Tabella ProvaTab
ALTER PROCEDURE dbo.Prova
(
@Ti nvarchar(4),
@DDL nvarchar(4) = "T"
)
AS
IF @Ti = @DDL
select Ti, Ri, Descrizione from ProvaTab
ELSE
select Ti, Ri, Descrizione from ProvaTab WHERE Ti=@Ti
RETURN
SP della Tabella, ma con Distinct su Ti
ALTER PROCEDURE dbo.ProvaTi
(
@Ti nvarchar(4) = NULL,
@ddlTi nvarchar(1) = "T"
)
AS
IF @Ti = @ddlTi
SELECT DISTINCT Ti FROM ProvaTab ORDER BY Ti
ELSE
SELECT DISTINCT Ti FROM ProvaTab WHERE Ti = @Ti ORDER BY Ti
RETURN
SP della Tabella, ma con Distinct su Ti
ALTER PROCEDURE dbo.ProvaRiTi
(
@Ti nvarchar(4) = NULL,
@ddlTi nvarchar(1) = "T"
)
AS
IF @Ti = @ddlTi
SELECT DISTINCT Ri FROM ProvaTab ORDER BY Ri
ELSE
SELECT DISTINCT Ri FROM ProvaTab WHERE Ti = @Ti ORDER BY Ri
RETURN
Ho una pagina web in cui sono posizionati 4 DropDownList ed una gridView.
Le quattro DropDownList (DDL, per comodità DDL1, DDL2, DDL3, DDL4), servono per filtrare i dati.
Leggendo i vari post ho capito che è meglio usare le Stored Procedure (SP).
Ogni DDL ha un item aggiuntivo con la Scritta --- Tutti --- e valore T. In questa maniera posso Filtrare la Tabelle visualizzando i dati che hanno la stessa caratteristica della DDl oppure tutti.
DDL1 è collegata ad un SqlDataSource con SP ProvaTi
<SelectParameters>
<asp:ControlParameter ControlID="ddlTi" Name="Ti" PropertyName="SelectedValue" />
</SelectParameters>
DDL2 è collegata ad un SqlDataSource con SP ProvaRiTi
<SelectParameters>
<asp:ControlParameter ControlID="ddlTi" Name="Ti" PropertyName="SelectedValue" />
</SelectParameters>
La DDL3 e 4 non le ho ancora provate se prima non capisco come funzionanao le prime 2
La GridView è collegata ad un SqlDataSource con SP Prova
Siccome è la prima volta che le uso, ho fatto alcune prove.
La prima è stata quella di filtrare i dati (sempre con una SP) con la DDL1 e va bene.
Poi ho effettuato altre prove dove alla scelta di un valore nella DDL1, la DDL2 dev'essere filtrata in base alla DDL1 e successivamente in base alla scelta della DDL2, la gridView va filtarta con i valori di DDL1 e DDL2
Spero di non aver omesso nulla e di essere statao chiaro.
Il tutto funziona sempre per la DDL1, mentre alla DDL2, si accodano i dati corriposndenti alla scelta effettuata enlla DDL1.
Ho provato ad usare DDL.databind() nel SelectIndexChanged della DDL1, ma niente da fare.
grazie
Gaetano
Torna su
Stanze Forum
Elenco Threads
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 !