我在Visual Studio 2015中使用报表生成器时遇到以下问题: 当我尝试将日期参数(BETWEEN语句)添加到以下代码中时,VS会自动将它们更改为问号,例如。 @Datefrom - > '?'
SELECT DISTINCT au.FIRST_NAME AS 'Serwisant',
(SELECT COUNT(CHARGEID) AS Expr1
FROM ChargesTable AS ct
WHERE (TECHNICIANID = hdc.TECHNICIANID)
AND (DATEADD(s, DATEDIFF(s, GETUTCDATE(), GETDATE()) + TS_STARTTIME / 1000, '1970-01-01 00:00:00') BETWEEN DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0) AND DATEADD(s, - 1, DATEADD(mm, DATEDIFF(m, 0, GETDATE()) + 1, 0)) )
AND (CHARGEID IN (SELECT CHARGEID
FROM WorkOrderToCharge)
OR CHARGEID IN (SELECT CHARGEID
FROM TaskToCharge
WHERE (TASKID IN
(SELECT TASKID
FROM WorkOrderToTaskDetails))))) AS 'Ilosc wpisow'
FROM HelpDeskCrew AS hdc INNER JOIN
AaaUser AS au ON au.USER_ID = hdc.TECHNICIANID
我的代码有3个或4个simillar块,带有'between'语句,当我将它们更改为参数时,VS会将所有这些更改为'?'并在报表设计器中给出了10个werid参数。
感谢您的帮助!
答案 0 :(得分:0)
您似乎想要执行报告,用户可以在其中输入StartDate和EndDate参数。
假设您有一个数据源,为了实现这一目标,您需要根据您的查询创建数据集,如下所示:
SELECT BirthDate
FROM DimCustomer
WHERE BirthDate > @StartDate AND BirthDate < @EndDate
这将自动创建两个参数@StartDate和@EndDate。您可能希望将此参数更改为仅接受日期时间值。