在一个确切的日子搜索记录

时间:2013-12-02 14:09:35

标签: c# datetime

在用户界面中,我有两个date picker字段,用户可以选择开始日期和结束日期进行搜索。 (没有时间值输入,只有日期部分)因此,例如,如果他只想查看该特定日期的记录,他可以为其标准的开始和结束输入相同的日期。

现在,在SQL Server中,这些列存储为DateTime文件,其值为

'2013-04-04 10:48:02.830'

因为它也将时间保留在SQL Server中,所以当C#部分的开始和结束日期相同时,我的搜索没有返回结果。 我怎样才能在C#端解决这个问题? (我假设我们在应用程序的其他部分保留在SQL Server中的时间部分有一个用例,所以不要乱用后端部分。)

所以: SQL Server的值为'2013-04-04 10:48:02.830' C#传递的值为{11/26/2011 12:00:00 AM} 当开始和结束日期相同时,我们得不到任何结果。

1 个答案:

答案 0 :(得分:2)

假设您的后端有代码转到SQL Server,而不是拥有数据绑定的UI:

您只需获取从UI获得的两个值并根据需要进行修改:

DateTime from = originalFromDate.Date;
DateTime to = originalToDate.Date.AddDays(1).AddSeconds(-1);

现在如果您搜索from和to之间的任何内容,您将找到您的记录:

(在LINQ的情况下:)

var query = queryUntilNow.Where(x => x.Date >= from && x.Date <= to);