我从我的数据库中提取的日期值:VB.NET日期比较没有返回正确的结果?
Dim qfresho = From p In dbConfig.Configs _
Where p.Description = "FROD" _
Select p.dateValue
Dim qfreshc = From p In dbConfig.Configs _
Where p.Description = "FRCD" _
Select p.dateValue
然后比较这些日期值到当前日期:
If qfresho.First.Value >= Date.Now And qfreshc.First.Value <= Date.Now Then
lblFreshman.Text = "Freshmen are currently eligible to register for a room."
Else
Dim frdays As TimeSpan
frdays = (qfresho.First.Value).Subtract(Now)
lblFreshman.Text = "Registration will open for freshmen in " & frdays.Days & " days."
End If
但由于某些原因,它总是返回else条件 - 即使数据库中的值应该使查询为真。有任何想法吗?我猜是因为某种原因它不把结果作为一个日期?
这可能是问题的一部分,但我更新了代码以使用Date.Today,但它仍然无效。当我通过调试器查看各种数据时,我可以看到它将像#3/1/2011#这样的值拉回“Date?”类型。 - 我不确定为什么它不确定? – davemackey 2011-03-05 14:35:04
然后,我会建议添加一些调试,看看哪些条件给你带来麻烦,所以做Debug.WriteLine(qfresho.First.Value> = Date.Now)和Debug.WriteLine(qfreshc.First.Value <= Date.Now)看哪一个评估是错误的。 – 2011-03-05 15:00:10
关于“日期?”键入:这意味着它是一个空的日期。请参阅http://msdn.microsoft.com/en-us/library/bb981315(v=vs.80).aspx – 2011-03-06 17:19:02