【发布时间】:2019-07-29 22:17:37
【问题描述】:
我正在将文本框中的日期读入 C# 程序,并将日期与 SQL 数据库中的条目进行比较。尽管日期的 SQL 查询显示该日期有条目,但我无法让它们匹配。
我尝试使用 .Date 保存到变量中,以尝试剥离 hh:mm:ss,但没有结果。我已经尝试DateTime.ParseExact 更改格式以匹配数据库。
if (!System.String.IsNullOrEmpty(searchDate))
{
CultureInfo culture = new CultureInfo("en-US");
DateTime completeDate = DateTime.ParseExact(searchDate, "M/d/yyyy", culture);
requests = requests.Where(x => x.CompletionDate == completeDate);
}
当我搜索1/28/2019 时,我希望在数据库中找到两条记录的匹配项。我没有得到任何结果。我尝试了其他条目,也没有找到任何匹配项。没有生成错误消息。
【问题讨论】:
-
您是否也将时间部分存储在数据库列 CompletionDate 中?
-
是的,确实如此,它有 00:00:00.000 - 有没有办法将它添加到我的变量中或在比较两者时将其从数据库条目中删除?
-
好的,但是有没有办法在访问数据库的 Razor 语句中执行它?
-
为了确保不会因为时间部分而错过任何东西,我会使用 requests.Where(x => x.CompletionDate >= completeDate && x.CompletionDate
-
您正在传递的示例
searchDate字符串是什么?如果您检查它,completeDate的值是多少?您期望 LINQ 查询在数据库中找到的确切值是什么?