PB null值的解析

来源:互联网 发布:淘宝上steam掉落卡片 编辑:程序博客网 时间:2024/05/07 22:36

NULL值:
    NULL代表不知道或者没有定义,和空值完全不同。例如,在数据库中某字段取值为NULL,代表用户还没有处理这个字段的数据,有待于处理;而如果该字段取值为空,代表这个字段的数据用户做了处理,这个字段的取值是清楚的。

    当变量定义后,变量没有取值,应该为NULL,但实际上不是这样。PowerBuilder为每种类型的变量都规定了默认值,当刚刚定义了某类型的变量时,该变量的取值为这种类型变量的默认值。如integer类型的默认值为0,string类型的变量的默认值为“”。

    大多数情况下,NULL和数据库打交道时才经常使用。当某个取值为NULL的字段取值读入到变量时,该变量被置为NULL。也可以通过函数将变量的值置为NULL,但是不能直接把NULL赋值给变量。任何类型的变量都可以被赋值为NULL,NULL是一个非常特殊的值。函数用法是:

SetNull(变量名)

执行成功时返回1,否则返回-1。

例如:

String ls_name //此时变量ls_name的取值为“”

SetNull(ls_name) //ls_name变量此时为NULL

    判断某变量的取值是否为NULL时,使用函数IsNull(变量名),不能使用“=”来判断。例如“if ls_name=NULL then…”是不正确的,“ifIsNull(ls_name) then …”是正确的。当某布尔表达式的取值为NULL时,Powers cript处理为False。例如,下面的语句都不能执行beep(1)语句:

Int li_Nbr

// Set li_Nbr to NULL.

SetNull(Nbr)

If li_Nbr =1 Then Beep(1)

If li_Nbr <> 1 Then Beep(1)

If Not (li_Nbr = 1) Then Beep(1)

0 0
原创粉丝点击