请问
Null,Empty,Variant的区别何在??

解决方案 »

  1.   

    Variant 是变量的类型,Null, Empty 是变量的值。
    Variant 变量默认值为 Empty,在数据库操作时才用到 Null。Null, Empty 的区分一般可以这样理解:
    如果变量的值是 Empty,表示尚未进行过数据库操作,它的意思是不确定。
    如果变量的值是 Null,表示数据库字段的值是空,空是一个确定的值。
      

  2.   


    '简单的说,就是这样'你可以定义一个Variant变量
    Dim MyVar As Variant '此时MyVar的值即是Empty,即定义为这个类型是VB默认其初始值为Empty
    '你不能赋予Empty值,即如下是错误的
    set MyVar = Empty ' error'而NULL是一个变量实际拥有的值,即变量可以被初始化为NULL,NULL一般是表示变量所含有的数据是无效的
      

  3.   

    Variant和Null、Empty是两个概念
    Variant是变量类型
    Null、Empty是变量的值
    如果一个变量的值等于NULL,那么表示这个变量没有有效值
    如果一个变量的值等于Empty,那么表示这个变量没有初始化下面是MSDN的原话
    The Null value indicates that the variable contains no valid data. Null is not the same as Empty, which indicates that a variable has not yet been initialized. It is also not the same as a zero-length string (""), which is sometimes referred to as a null string.
      

  4.   

    Variant类型声明的时候如果没有初始化,就是Empty的.
    Variant类型的可选参数(Optional ByVal xxx As Variant),如果调用的时候没有传这个参数,函数内部此参数就是Empty的,可以用IsEmpty()函数检查这个参数是否为空.Null的话一般只是从数据库中读出,可以用IsNull()函数检测.Empty和Null都可以手动设置,都可以用函数检测:
    Dim a As Variant
    a = Empty
    Call MsgBox(IsEmpty(a))
    a = Null
    Call MsgBox(IsNull(a))