【发布时间】:2014-04-04 18:06:42
【问题描述】:
我用一个asp.net gridview依赖控件来搜索 日:-月:-年:
在数据库表中,我有一个 startdate 字段包含整个日期:
我试试这个查询:
SELECT id, shift_id, name_of_shift, person_in_shift, starttime_in_shift, endtime_in_shift, table_id, startdate, enddate, point_id
FROM sarcshifttable
WHERE (id IN
(SELECT MIN(id) AS Expr1
FROM sarcshifttable AS sarcshifttable_1
GROUP BY table_id)) AND (DATEPART(year, startdate) + '' LIKE @year) AND (DATEPART(day, startdate) + '' LIKE @day) AND (DATEPART(month, startdate) + '' LIKE @month)
控件:
<asp:TextBox ID="day_search" CssClass="textfield NjmeDine_Integer" Width="40px" runat="server"></asp:TextBox>
<asp:TextBox ID="month_search" CssClass="textfield NjmeDine_Integer" Width="40px" runat="server"></asp:TextBox>
<asp:TextBox ID="year_search" CssClass="textfield NjmeDine_Integer" Width="80px" runat="server"></asp:TextBox>
选择参数:
<SelectParameters>
<asp:ControlParameter ControlID="year_search" DefaultValue="%" Name="year" PropertyName="Text" />
<asp:ControlParameter ControlID="month_search" DefaultValue="%" Name="month" PropertyName="Text" />
<asp:ControlParameter ControlID="day_search" DefaultValue="%" Name="day" PropertyName="Text" />
</SelectParameters>
此格式的开始日期:2014-03-01
注意: 当我在具有静态值的数据库中尝试它时,它可以完美地工作
SELECT id, shift_id, name_of_shift, person_in_shift, starttime_in_shift, endtime_in_shift, table_id, startdate, enddate, point_id
FROM sarcshifttable
WHERE (DATEPART(month, startdate) + '' LIKE 03) AND (id IN
(SELECT MIN(id) AS Expr1
FROM sarcshifttable AS sarcshifttable_1
GROUP BY table_id)) AND (DATEPART(year, startdate) + '' LIKE 2014) AND (DATEPART(day, startdate) + '' LIKE 01) AND (DATEPART(month, startdate) + '' LIKE 03)
【问题讨论】:
标签: asp.net datasource