以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判断一个变量内容为空?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187292)

--  作者:czy66ds
--  发布时间:2023/7/6 10:59:00
--  如何判断一个变量内容为空?
dt是一个日期时间变量,已在全局代码中设置了:
Public dt As Date  \'日期时间变量
如果在程序中dt已经取值,那么如何判断其值为空?
是否这样:dt is null?

--  作者:有点蓝
--  发布时间:2023/7/6 11:02:00
--  
帮助搜索“空值”,看看相关说明
--  作者:czy66ds
--  发布时间:2023/7/6 11:09:00
--  
帮助中,空值都是针对列说的,例如[折扣] is null
我问的是变量dt

--  作者:cd_tdh
--  发布时间:2023/7/6 11:14:00
--  
你的变量是表还是行?
--  作者:有点蓝
--  发布时间:2023/7/6 11:35:00
--  
认真理解一下,都一样的:

dim d as date
msgbox(d = nothing)

d  = date.today
msgbox(d = nothing)

--  作者:czy66ds
--  发布时间:2023/7/6 11:35:00
--  
Dim cmd As New SQLCommand
cmd.ConnectionName = c
cmd.CommandText = "Select GetDate()" \'得到系统日期,含时间;来自SQL Server函数
dt = cmd.ExecuteScalar() \'返回单个值,dt在全局代码中已定义,系统日期,含时间

--  作者:czy66ds
--  发布时间:2023/7/6 12:05:00
--  
思考结果:
dt是一个日期时间变量,已在全局代码中定义了:Public dt As Date
程序中:
Dim cmd As New SQLCommand
cmd.ConnectionName = conn
cmd.CommandText = "Select GetDate()" 
dt = cmd.ExecuteScalar() \'返回单个值,dt在全局代码中已定义,系统日期,含时间
if dt.date =\'0001-01-01\' then
    msgBox("是空值")
end if

--  作者:cd_tdh
--  发布时间:2023/7/6 13:12:00
--  
返回的系统时间不会为空吧,需要判断吗?
--  作者:czy66ds
--  发布时间:2023/7/10 11:29:00
--  
实际运行时,出现过这种情况。
--  作者:czy66ds
--  发布时间:2023/7/10 11:30:00
--  
可能网络丢包