如何根据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请求的执行
在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))