如何根据date = tomorrow显示记录

本文关键字:tomorrow 显示 记录 date 何根 | 更新日期: 2023-09-27 18:10:32

我必须根据条件- Appointment date = tomorrow date在gridview中显示记录。

我已经尝试了很多选项,但没有得到确切的方法。我用datetime来约会,它也有时间。因此,我不能单独删除时间和比较日期。

现在在sqldatasource中使用这个查询:

SELECT * FROM [Patient_Appointment_Detail] WHERE ([AptTime] = @AptTime)

和in控制参数使用:

<asp:ControlParameter ControlID="lblgetdate" DefaultValue="NULL" Name="AptTime" 
                PropertyName="Text" Type="DateTime" />

我把明天的日期标签,而加载页面。但是不能删除AptTime中的时间,只比较日期。

lblgetdate.Text = DateTime.Now.AddDays(1).ToString("dd/mm/yyyy");

我也得到这个错误:

字符串未被识别为有效的日期时间。描述:一个执行当前web时发生未处理的异常请求。有关的详细信息,请查看堆栈跟踪错误和它在代码中的起源。异常详细信息:系统。FormatException:字符串没有被识别为有效的日期时间。的过程中产生了一个未处理的异常当前web请求的执行

如何根据date = tomorrow显示记录

在SQL Server中,可以CAST DateTime到Date:

SELECT * 
FROM [Patient_Appointment_Detail] 
WHERE CAST([AptTime] AS DATE) = CAST(@AptTime AS DATE)

参考:MS SQL比较日期?

你有另一个问题,你在参数中传递一个字符串作为日期时间。这是非法的,你得到了一个例外。

创建一个控件来保存您的日期,如日历:

<asp:ControlParameter ControlID="myCalendar" DefaultValue="NULL" Name="AptTime" 
            PropertyName="SelectedDate" Type="DateTime" />
myCalendar.SelectedDate = DateTime.Now.AddDays(1);

这是你想要的:

SELECT * FROM [Patient_Appointment_Detail] WHERE ([AptTime] = DATEADD(day, 1, CONVERT(DATETIME, @AptTime)))

如果您将日期作为今天的日期传入。

与明天的日期比较,使用:

SELECT * FROM [Patient_Appointment_Detail] WHERE CAST([AptTime] AS DATE) = CAST(CONVERT(DATETIME, @AptTime) AS DATE))