按日期过滤GridView条目

时间:2019-05-02 20:20:35

标签: c# asp.net database visual-studio parameters

在Visual Studio ASP.NET中

代码:

<asp:sqldatasource id="sqldatasource3" 
                   runat="server" 
                   connectionstring="<%$ ConnectionStrings:VPSConnectionString %>" 
                   selectcommand="SELECT [Price], [Date], [Route_Start], [Route_Destination] FROM [Billing] WHERE ([Username] = @Username)">
  <SelectParameters>
    <asp:SessionParameter Name="Username" 
                          SessionField="username_universal" 
                          Type="String" />
  </SelectParameters>
</asp:sqldatasource>

数据库:

enter image description here

我正在尝试根据日期到当前日期来过滤网页上的条目。我已经成功地通过用户名过滤了,但是我似乎无法弄清楚如何在此.aspx文件中使用当前日期。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果只是当前日期,则可以使用SQL GETDATE()函数。为了仅匹配日期,您需要在查询中进行CAST(GETDATE() AS DATE)FLOOR(CAST(GETDATE() AS FLOAT))才能正确匹配。

示例:

SELECT [Price]
,   [Date]
,   [Route_Start]
,   [Route_Destination] 
    FROM [Billing] 
    WHERE [Username] = @Username 
      AND CAST(GETDATE() AS DATE) = CAST([Date] AS DATE)

另请参阅:Compare DATETIME and DATE ignoring time portion