Filtrering af felter i en tabel efter brugerens vælg på en webform
Husk: Luk dit spørgsmål når det er tilfredsstillende besvaret.Hej. Jeg har en tabel hvor der er ca. 15 felter. På 5 af disse felter ville jeg opbygge en filter, hvor brugeren vha. en webform, kanvælge/skrive filteringskriterie, hvor bagefter viser der en liste af produkter efter filterering.
En gang til skal jeg nævne, at brugeren kan fx vælge at ikke vælge/skrive i nogen af felterne, så få han/hun alle produkterne vist på
listen. Så jo mere filtreres, jo listen bliver kortere (selvfølgelig!)
Jeg har fundet på nette en Stored Procedure, og har prøvet den i min SQL server 2005 miljø, og det virker. Mit problem er at skrive
koden (C#) i webformen i asp.net 2, som brugere denne Stored Procedure.
Min SP, der virker:
-------------------
ALTER PROCEDURE [dbo].[SearchProdukter]
(
@ProduktID varchar(20) = null,
@ProdukttypeID varchar(20) = null,
@RegionID varchar(20) = null,
@Beskrivelse varchar(100) = null,
@Pris varchar(20) = null,
)
AS
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT *
FROM Produkt
WHERE (@ProduktID IS NULL OR ProduktID = @ProduktID)
AND (@ProdukttypeID IS NULL OR ProdukttypeID = @ProdukttypeID)
AND (@RegionID IS NULL OR RegionID = @RegionID)
AND (@Beskrivelse IS NULL OR Beskrivelse = @Beskrivelse)
AND (@Pris IS NULL OR Pris = @Pris)
AND (Synligt = 1)
Bemærkning: Synligt er en bit felt, som holder styr på hvilke produkter skal der er være tilgængeligt.
-----
I webformen er alle felter dropdownlister, undtaget Beskrivelse, og Pris felterne.
Tak for hjælpen på forhånd.