我從我的數據庫中提取的日期值: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