0

取得するために照会しているテーブルを取得しましたDeliveryDateが、一部のレコードにないDeliveryDateため、VB はそれを 00:00:00 と見なします。

IF日付をチェックして 00:00:00 かどうかを確認する条件を作成するにはどうすればよいですか? 日付が何もないとき(00:00:00)に変数をTRUEに設定したいからです。

4

3 に答える 3

3

日付が に割り当てられているかどうかを確認したいようです。Nothingその場合、デフォルトはDate.MinValueになります。迅速で汚いアプローチは、次を確認することです。

If DeliveryDate = Date.MinValue Then

紀元前 1 年に配達予定の荷物がある可能性は低いため、午前 0 時に配達された荷物には問題なく機能します。

適切なアプローチはDeliveryDate、 of typeを使用することであるため、実際にそこに(= ) をNullable(Of Date)格納できます。この場合、コードは読みやすくなります。Convert.DBNullNothing

If DeliveryDate Is Nothing Then

最初に同様の行を使用できたことに注意してください(DeliveryDateタイプはDate):

If DeliveryDate = Nothing Then

Nothingただし、から への暗黙的な変換は避けたほうがよいでしょうDate.MinValue。これは、この場合、 と同じように読みやすいように見えますが、この場合は舞台裏で行われIs Nothingます。

于 2013-02-13T01:13:24.057 に答える
1

Date が日付部分と等しいかどうかを確認できます。

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 に答える