数据库字段为空有两种情况,一种是"",另一种是NULL, 当为""时候判断 str = "" 就可以了,但当数据为NULL时候就不一样了。 当为NULL(即没有插入数据) isnull(str) 结合起来判断就是 If str = "" or isnull(str) Then ...... End if 没有添加过数据的就为NULL,添加过数据删除了的就为""空。 Vriant数据类型是所有没被显式声明(如Dim、Private、或Static等语句)为其他类型变量的数据类型。 Vriant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。 Vriant也可以包含Empty、Erray、Nothing和Null等特殊值。Empty值用来标记标记尚未初始化(给定初始值)的Vriant变量。 当有些变量可能出现Null值时,可将该变量定义为Variant数据类型。 例如: 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,但编程时不要使用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