asp.net动态数据过滤视图

时间:2013-03-11 15:55:48

标签: c# asp.net sql asp.net-dynamic-data

我使用asp.net动态数据来显示我在sql server数据库中的几个表的内容,这很酷。除此之外,我正在尝试做另外一件事。

说有一张桌子

CustomerComplaints
    - some fields
    - CustomerName
    - ComplaintType
    - ComplaintDate
    - other fields

我想显示顶级投诉客户的观点

所以我创建了一个视图

 select CustomerName, count(*) ComplaintCount from CustomerComplaints group by CustomerName

但我也希望能够传递一个可选的AfterDateBeforeDate来过滤ComplaintDate以执行我的顶级Compalining客户视图。

如果不创建针对此问题的页面,有什么好的方法可以做到这一点?

由于

1 个答案:

答案 0 :(得分:1)

您可以将参数传递给查询并使用它:

SELECT CustomerName, count(*) ComplaintCount 
FROM CustomerComplaints 
WHERE ComplaintDate BETWEEN @AfterDate AND @BeforeDate
GROUP BY CustomerName

然后将这些参数的默认值设置为该列的数据类型的最小值和最大值(如果它是datetime2,则值为0001-01-019999-12-31)。这样,如果您未明确传递参数,则默认值将不会过滤您的结果。