石家庄网站建设公司,网站优化,400电话办理,企业邮箱——明尚互联,石家庄做网站首选

石家庄网站建设公司,网站优化,400电话办理,企业邮箱-明尚互联 石家庄做网站首选

网站建设服务热线
因为专业,所以与众不同

isNull、isEmpty和


石家庄明尚互联网络公司 发布于:2015-11-04 16:29:54  点击:1903  字体:

     ASP中我们经常会用到两个参数就是isNull和isEmpty,在我们判断某个字符串为空的时候使用。比如某个字符串是str1,经常我们用if isNull(str1) or isEmpty(str1) then来判断,或者使用if str1="" then来判断字符串是否为空。
     有时候我们非常纠结,isNull、isEmpty和""空字符串到底有什么区别呢?
     石家庄网站建设要重点讲讲这三个的区别
     一个是对象为空(IsNull),一个是值为空(IsEmpty),然而空字符串并不等同于NULL也不等同于Empty
  
IsNull指任务类型变量是否为空包括对象类型的变量。
IsNull函数:
功能:返回Boolean的值,指明表达是否不包含任何有效数据。NULL表示的是数据值未知或不可用,它不表示零(数字值或二进制值)、零长度的字符串或空白(字符值)。
      重点使用 IsNull 函数可以判断表达式是否包含 Null 值。在某些情况下想使表达式取值为 True,例如 If var=Null 和 If var<>Null,但它们通常总是为 False。这是因为任何包含 Null 的表达式本身就为 Null,所以表达式的结果为 False。
下面的示例利用 IsNull 函数决定变量是否包含 Null:
Dim MyVar, MyCheck
MyCheck = IsNull(MyVar)      ’ 返回 False
MyVar = Null                         ’ 赋为 Null
MyCheck = IsNull(MyVar)      ’ 返回 True
MyVar = Empty                     ’ 赋为 Empty
MyCheck = IsNull(MyVar)     ’ 返回 False
IsNull的一般场合:
     1.对于值为NULL的,其IsNull返回为True;
     2.对于数据库来说,看是否是NULL则更简单,若是NULL数据,则数据库中的数据直接就是个“NULL”.   
 
IsEmpty函数:
功能:用于判断一个变量是否已初始化,如果变量未初始化或显式地设置为Empty,则函数IsEmpty返回True;否则函数返回False。
下面的示例利用 IsEmpty 函数决定变量是否能被初始化:
Dim MyVar, MyCheck
MyCheck = IsEmpty(MyVar)      ’ 返回 True。
MyVar = Null                             ’ 赋为 Null。
MyCheck = IsEmpty(MyVar)      ’ 返回 False。
MyVar = Empty                        ’ 赋为 Empty。
MyCheck = IsEmpty(MyVar)     ’ 返回 True。
何时才能算是空数据(Empty),这个也不难说:
1 没有初始化值的变量,不管这个变量有没有先使用Dim声明。
2 直接使用 变量 = Empty。
 
零长度字符串 ("")
零长度字符串往往指的是空串。
str="",将空字符串赋给str变量,已经赋值了,且赋的是字符
何时算是零长度字符串(空串)?
    a = "" 
这就是空串,说白了,也还是个字符串,就把他当成字符串理解,零长度字符串并不等同于NULL也不等同于Empty。知道数据是空串(="")还是空值(=Empty)可就显得十分必要了,或许听名字我们都知道他们的细微区别了,空串怎么说也是字符串,空值的类型就不清楚了,可能是字符串,所以对于一个未赋值的变量,其值等价于:Empty,""(零长度字符串),0(使用Cint转换后),这可以从判断一个Session是否存在的写法中得到验证。
 
     对于一个表单接收过来的值,如果文本框内容什么都没写,那它的值又是多少呢?是Empty还是空串?
看个简单的例子:
    为了能正确判断值类型,我们使用VarType函数:返回指示变量子类型的值。
    函数返回下列值:
    8 字符串
    0 Empty(未初始化)
    1 NULL(无有效数据)
   
 下面看个简单例子:  
 <%
 If Request.QueryString("smt") <> "" Then
 txtName = VarType(Request.QueryString("txtName"))
 Response.Write(txtName)
 End If
 %>
<form name="test.asp" method="get">
<input type="text" name="txtName" />
<input type="submit" name="smt" value="确定提交" />
</form>
      文本框什么都没写,按下按钮后,返回值是“8”,说明,对于没有填写数据的文本框其值为零长度字符串而不是Empty。
    
      对于判断Session是否存在,看个例子:
 <% Response.Write(varType(Session("name"))) %>
      其返回值为:“0”,也就是Empty。那么对于判断是否有Session尽管有多个方法,但其实使用IsEmpty(Session("name"))来判断才是比较合适的。
      石家庄网站制作补充:在数据库设计中可以规定某字段为null,这样如果不再给他赋值时,此记录即为null,但是在表格输出时,null记录将破坏表格的结构,即表格中的格线将消失,很多人在可能出现这种情况时,会在数据库中设默认值或在处理时给此记录赋一个空串。

https://www.hiheb.cn/
最新案例
建站套餐
明尚最新动态
手机:19033292827
首页  套餐  服务  案例  关于  留言  联系  新闻
返回头部
联系我们
Contact
QQ咨询623900980  QQ咨询81457951
业务咨询:19033292827
地址:河北省石家庄市长安区古城西路汇春博物园
Copyright © 2007-2024 石家庄明尚信息技术有限公司
备案编号:冀ICP备12016215号-2 冀公网安备13010502002383号
业务范围:石家庄网站建设 石家庄网站优化 石家庄网站制作 石家庄做网站 石家庄建网站 石家庄建站 石家庄网页设计