Я должен создать отчет RDLC в asp.net.Для которого я пишу хранимую процедуру с использованием различных скалярных функций.У меня есть графический интерфейс, из которого я должен выбрать критерии и собирать данные в соответствии с этими критериями.Графический интерфейс здесь: Я реализовал все случаи, такие как «Весь персонал», «Все службы» и т. Д., Но проблема возникает, когда мне нужно выбрать конкретные записи из списка и вывести данные в соответствии с этим.Например, я выбираю конкретные записи персонала из списка, и в моем отчете должны отображаться записи только с выбранными записями.Как я могу справиться с этим?Я имею в виду, когда я выбираю некоторые записи из списка, как я могу перенести эти записи в раздел where моей хранимой процедуры и как использовать ее там?
Я использую SQL SERVER 2008. Моя хранимая процедура:
USE [PC_Rewrite]
GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo]. [SpGetClients] (@orderBy varchar (50))
AS BEGIN - SET NOCOUNT ON добавлен для предотвращениядополнительные результирующие наборы из-за вмешательства в операторы SELECT.SET NOCOUNT ON;
-- Insert statements for procedure here
IF(@orderBy = 'Consumer Name')
BEGIN
SELECT c.Id, c.LastName, c.FirstName, c.MiddleInit,
c.DateOfBirth, dbo.GetAge(c.DateOfBirth, GETDATE()) AS Age, c.Sex, cs.Status, ca.Address, co.Phone,
dbo.GetEthnicity(c.Id) AS Ethnicity, dbo.GetDevelopmentalDisabilities(c.Id) AS Disabilities,
dbo.GetClientStaffContacts(c.Id) AS Staff, dbo.GetClientContacts(c.Id) AS Contact,
dbo.GetClientInsuranceProviders(c.Id) AS InsuranceProvider FROM Client c
LEFT OUTER JOIN ClientStatus cs ON cs.Id = c.StatusId
LEFT OUTER JOIN(
SELECT ca.ParentEntityId, ca.Address
FROM ContactAddress ca
INNER JOIN EntityName en ON en.Id = ca.EntityNameId AND en.Name = 'Client'
INNER JOIN GeneralLookup gl ON ca.glAddressTypeId = gl.Id AND gl.LookupItem = 'Primary'
) ca ON c.Id = ca.ParentEntityId
LEFT OUTER JOIN(
SELECT co.ParentEntityId, co.ContactData Phone
FROM ContactOther co
INNER JOIN EntityName en ON en.Id = co.EntityNameId AND en.Name = 'Client'
INNER JOIN GeneralLookup gl ON co.glContactTypeId = gl.Id AND gl.LookupItem = 'Home'
) co ON c.Id = co.ParentEntityId
ORDER BY c.LastName, c.FirstName, c.MiddleInit
END
ELSE IF(@orderBy = 'Consumer Address')
BEGIN
SELECT c.Id, c.LastName, c.FirstName, c.MiddleInit,
c.DateOfBirth, dbo.GetAge(c.DateOfBirth, GETDATE()) AS Age, c.Sex, cs.Status, ca.Address, co.Phone,
dbo.GetEthnicity(c.Id) AS Ethnicity, dbo.GetDevelopmentalDisabilities(c.Id) AS Disabilities,
dbo.GetClientStaffContacts(c.Id) AS Staff, dbo.GetClientContacts(c.Id) AS Contact,
dbo.GetClientInsuranceProviders(c.Id) AS InsuranceProvider FROM Client c
LEFT OUTER JOIN ClientStatus cs ON cs.Id = c.StatusId
LEFT OUTER JOIN(
SELECT ca.ParentEntityId, ca.Address
FROM ContactAddress ca
INNER JOIN EntityName en ON en.Id = ca.EntityNameId AND en.Name = 'Client'
INNER JOIN GeneralLookup gl ON ca.glAddressTypeId = gl.Id AND gl.LookupItem = 'Primary'
) ca on c.Id = ca.ParentEntityId
LEFT OUTER JOIN(
SELECT co.ParentEntityId, co.ContactData Phone
FROM ContactOther co
INNER JOIN EntityName en ON en.Id = co.EntityNameId AND en.Name = 'Client'
INNER JOIN GeneralLookup gl ON co.glContactTypeId = gl.Id AND gl.LookupItem = 'Home'
) co ON c.Id = co.ParentEntityId
ORDER BY ca.Address
END
END
Любая помощь будет оценена.