Я разрабатываю приложение, в котором мне нужно создавать отчеты на основе входящих и выходящих записей сотрудников. У меня нет опыта работы с приложениями, связанными с базами данных, используя динамические запросы. В этом конкретном приложении мне нужно передать динамические SQL-запросы.с использованием динамического sql в коде C# в visual studio
В этом случае мне нужно выбрать имена столбцов на основе выбора пользователя, а затем передать их в другой запрос sql в качестве параметров. здесь запросы ...
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT ',' + QUOTENAME(date +'_'+Logname)
from
(
select doordate,
convert(char(10),doordate, 101) date,
LogName
from DoorLog
cross apply
(
select 'In' LogName
union all
select 'Out'
) l
) s
group by convert(char(10), doordate, 112), date, Logname
order by convert(char(10), doordate, 112)
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query
= 'select employeeid, name, '[email protected]+'
from
(
select employeeid, name,
convert(char(8), doortime, 108) DoorTime,
date + ''_''+ col col_names
from
(
select p.employeeid,
p.name,
convert(char(10),d.doordate, 101) date,
min(d.doordate) [In],
max(d.doordate) [Out]
from person p
left join doorlog d
on p.employeeid = d.employeeid
group by p.employeeid, p.name,
convert(char(10),d.doordate, 101)
)src
unpivot
(
doortime
for col in ([In], [Out])
) unpiv
) p
pivot
(
max(doortime)
for col_names in('[email protected]+')
) piv'
execute(@query)
Я не был в состоянии понять, что способ, как использовать этот код в C# код.
Пожалуйста, помогите.
Заранее спасибо ...
Я предлагаю здесь хранимую процедуру –
@PraveenNambiar sir, как использовать хранимую процедуру в коде C#? – humorousdragon