0、""(空字串)、null、empty、与 nothing 的区别
先回答以下问题吧! 经过以下的叙述之后, 变量 a、b、c、d 分别等于 0、
""、null、 empty、 nothing 的哪一个?
dim a
dim b as string
dim c as integer
dim d as object
a 等于 empty, 因为尚未初始化的「不定型变量」都等于 empty。但如果检
测 a = "" 或 a = 0, 也都可以得到 true 值。
b 等于 "", 因为尚未初始化的非固定长度「字串」都等于 "" 。 但请注意
b<> null。
c 等于 0, 这个还有问题吗?
d 等于 nothing, 尚未设定有物件的「物件变量」都等于 nothing, 但请不
要使用 d = nothing , 而要使用 d is nothing 来判断 d 是否等于 nothing,
因为判断 是否相等的符号是 is 不是 = 。
最令人迷惑的地方是 null 这个保留字, 请看以下语句:
print x = null
print x <> null
结果都是输出 null(不是 true 也不是 false), 这是因为任何一个运算式只
要含有 null , 则该运算式就等于 null, 实际上想要判断某一数据是否为 null
绝对不能使用:
if x = null then ' 永远都会得到 null
而要使用:
if isnull(x) then
哪一种数据会等于 null 呢? 除了含有 null 运算式之外, 就属没有输入任
何数据的「数据字段」(在数据库中) 会等于 null。