0

我有一张我正在查询的表格,DeliveryDate但有些记录没有,DeliveryDate所以 VB 将其视为 00:00:00。

如何IF设置条件来检查日期并查看它是否为 00:00:00?因为我想在日期为空(00:00:00)时将变量设置为TRUE 。

4

3 回答 3

3

看起来您想检查是否将 date 分配给Nothing,在这种情况下,它将默认为Date.MinValue。快速而肮脏的方法是检查:

If DeliveryDate = Date.MinValue Then

它适用于在午夜交付的包裹,因为您不太可能在公元前 1 年安排任何包裹交付。

正确的方法是使用DeliveryDatetype Nullable(Of Date),因此您实际上可以在其中存储Convert.DBNull(= Nothing)。在这种情况下,代码变得更容易阅读:

If DeliveryDate Is Nothing Then

请注意,您可以在开始时使用类似的行(DeliveryDate类型为Date):

If DeliveryDate = Nothing Then

但是,您宁愿避免 to 的隐式转换NothingDate.MinValue这在这种情况下会在幕后发生,即使它看起来与 . 一样可读Is Nothing

于 2013-02-13T01:13:24.057 回答
1

您可以检查您的日期是否等于日期部分:

If DeliveryDate.Date = DeliveryDate Then ...

于 2013-02-12T21:27:27.503 回答
0

我个人使用New Date,但它是一种风格选择——你也可以使用 Nothing。

If DeliveryDate = New Date Then 

或者

If DeliveryDate = Nothing Then
于 2013-02-13T03:15:04.140 回答