【问题标题】:build a select query as a gridview datasource asp.net构建一个选择查询作为 gridview 数据源 asp.net
【发布时间】: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


    【解决方案1】:

    答案是:

        SELECT        id, shift_id, name_of_shift, person_in_shift, starttime_in_shift, endtime_in_shift, 
    
    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 '%'+@year+'%') AND (DATEPART(day, startdate) + '' LIKE '%'+@day+'%') AND (DATEPART(month, startdate) + '' LIKE '%'+@month+'%')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多