取得するために照会しているテーブルを取得しましたDeliveryDate
が、一部のレコードにないDeliveryDate
ため、VB はそれを 00:00:00 と見なします。
IF
日付をチェックして 00:00:00 かどうかを確認する条件を作成するにはどうすればよいですか? 日付が何もないとき(00:00:00)に変数をTRUEに設定したいからです。
取得するために照会しているテーブルを取得しましたDeliveryDate
が、一部のレコードにないDeliveryDate
ため、VB はそれを 00:00:00 と見なします。
IF
日付をチェックして 00:00:00 かどうかを確認する条件を作成するにはどうすればよいですか? 日付が何もないとき(00:00:00)に変数をTRUEに設定したいからです。
日付が に割り当てられているかどうかを確認したいようです。Nothing
その場合、デフォルトはDate.MinValueになります。迅速で汚いアプローチは、次を確認することです。
If DeliveryDate = Date.MinValue Then
紀元前 1 年に配達予定の荷物がある可能性は低いため、午前 0 時に配達された荷物には問題なく機能します。
適切なアプローチはDeliveryDate
、 of typeを使用することであるため、実際にそこに(= ) をNullable(Of Date)
格納できます。この場合、コードは読みやすくなります。Convert.DBNull
Nothing
If DeliveryDate Is Nothing Then
最初に同様の行を使用できたことに注意してください(DeliveryDate
タイプはDate
):
If DeliveryDate = Nothing Then
Nothing
ただし、から への暗黙的な変換は避けたほうがよいでしょうDate.MinValue
。これは、この場合、 と同じように読みやすいように見えますが、この場合は舞台裏で行われIs Nothing
ます。
Date が日付部分と等しいかどうかを確認できます。
If DeliveryDate.Date = DeliveryDate Then ...
私は個人的に使用していますNew Date
が、これはスタイルの選択です。Nothing を使用することもできます。
If DeliveryDate = New Date Then
また
If DeliveryDate = Nothing Then