94 messaggi dal 29 ottobre 2002
Uso da poco le stored procedure. Ho un menù (ad esempio:una list box con l'elenco dei clienti, un'altra con le zone-cliente, un'altro con la regione-cliente ecc:) che mi passa i parametri.In cima all'elenco c'è la voce "Tutti i clienti", o "Tutte le zone" o Tutte le regioni". Per cui la stored dovrebbe acquisire o il parametro relativo all'IDcliente, IdZona,IDregione, o qualcosa di simile a "IS NOT NULL", cioè tutti i clienti (o tutte le zone o tutte le regioni)?. Qualcuno sa indicarmi la sintasi della stored? Ho provato in mille modi:Ad impostare di default il valore ISNULL

@V_Cliente nvarchar(10)=ISNULL,
@V_Zona nvarchar(10),
@V_Reg int = 6

ma poi nella sezione where devo scrivere

WHERE (IdRegione =6) AND (NOT (IdCliente=@V_Cliente))

Quando però poi seleziono un cliente specifico andrebbe scritta così:

WHERE (IdRegione =6) AND (IdCliente=@V_Cliente)

Grazie
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Che valore viene passato se viene selezionata la voce "Tutti"? Hai inserito un valore fittizio come "0"?

In tal caso la SP dovrebbe essere scritta:

where idregione=6 and (@v_cliente =0 or @v_cliente=id_cliente)
Ciao
47 messaggi dal 18 settembre 2006
Contributi
francescoC ha scritto:
Qualcuno sa indicarmi la sintasi della stored? Ho provato in mille modi:Ad impostare di default il valore ISNULL

Il valore di default dovrà essere semplicemente NULL, non ISNULL. Così:

@V_Cliente nvarchar(10) = NULL


Nei criteri della query dovrai controllare che il valore (del cliente, in questo caso) sia nullo oppure che sia pari a quello cercato.

WHERE ((@V_Cliente IS NULL) OR (@V_Cliente = Id_Cliente)) AND ...


HTH

Efran Cobisi
Solution developer, consultant and trainer
MCAD, MCT, MCTS: SQL Server 2005

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.