考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > Visual FoxPro > VF辅导 > 文章内容
  

计算机等级考试二级VFP辅导讲义:VFP测试函数

中华IT学院   【 】  [ 2017年9月4日 ]

  在数据库操作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取操作对象的相关属性。

  1.数据类型测试函数

  格式:VARTYPE((表达式),[(逻辑表达式)])

  功能:测试表达式的数据类型,返回用字母代表的数据类型。函数值为字符型。未定义或错误的表达式返回字母U.若表达式是一个数组,则根据第一个数组元素的类型返回字符串。

  若表达式的运算结果是NULL值,则根据函数中逻辑表达式的值决定是否返回表达式的类型。具体规则是:如果逻辑表达式为.T,则返回表达式的原数据类型。如果逻辑表达式为.F,或省略,则返回X,表明表达式的运算结果是NUll值。

  举例:

  a=DATE()

  a=NUll

  ?VARTYPE($385),VARTYPE([FoxPro]),VARTYPE(a,T.),VARTYPE(a)

  输出为:Y C D X.

  2.表头测试函数

  格式:BOF([(工作区号)])l<别名)])

  功能:测试指定或当前工作区的记录指针是否超过了第一个逻辑记录,即是否指向表头,若是,函数值为.T,否则为.F(工作区号)用于指定工作区,(别名)为工作区的别名或在该工作区上打开的表的别名。当<工作区号>和<别名>都缺省不写时,默认为当前工作区。

  3.表尾测试函数

  格式:EOF([(工作区号)[(别名>])

  功能:测试指定或当前工作区中记录指针是否超过了最后一个逻辑记录,即是否指向表的末尾,若是,函数值为.T,否则为。F自变量含义同BOF函数,缺省时默认为当前工作区。

  4.记录号测试函数

  格式:REcNO([<工作区号>}(别名>])

  功能:返回指定或当前工作区中当前记录的记录号,函数值为数值型。省略参数时,默认为当前工作区。如果记录指针在最后一个记录之后,即EOF()为.T,RECNO()返回比记录总数大l的值。如果记录指针在第一个记录之前或者无记录,即BOF()为.T.,REcONO()返回1。

  5.记录个数测试函数

  格式:RECCOUNT([(工作区号|别名>])

  功能:返回当前或指定表中记录的个数。如果在指定的工作区中没有表被打开,则函数值为O。如果省略参数,则默认为当前工作区.RECCOUNT()返回的值不受SET r)EI.ETED和SET FIITER的影响,总是返回包括加有删除标记在内的全部记录数。

  6.查找是否成功测试函数

  格式:FOUND([<工作区号『别名>])

  功能:在当前或指定表中,检测是否找到所需的数据。如果省略参数,则默认为当前工作区。数据搜索由FIND、SEEK、LOCATE或CONTINUE命令实现。如果这些命令搜索到所需的数据记录,函数值为.T,否则函数值为。F如果指定的工作区中没有表被打开,则FOUND()返回。F如果用非搜索命令如GO移动记录指针,则函数值为.F

  7.文件是否存在测试函数

  格式:FILE((文件名>)

  功能:检测指定的文件是否存在。如果文件存在,则函数值为.T,否则函数值为。F文件名必须是全称,包括盘符、路径和扩展名,且(文件名)是字符型表达式。

  8.判断值介于两个值之间的函数

  格式:BETwEEN(<被测试表达式>,<下限表达式),(上限表达式))

  功能:判断表达式的值是否介于相同数据类型的两个表达式值之间.BETwEEN()首先计算表达式的值。如果一个字符、数值、日期、表达式的值介于两个相同类型表达式的值之间,即被测表达式的值大于或等于下限表达式的值,小于或者等于上限表达式的值,BETW:EEN()将返回.T.值,否则返回.F

  举例:

  gz一375

  7 BETWEEN(gz,260,650)

  输出为。T

  9.条件函数IIF

  格式:IIF((逻辑型表达式),(表达式1),(表达式2>)

  功能:若逻辑型表达式的值为.T,函数值为(表达式1>的值,否则为<表达式2>的值。

  举例:

  xb=“女”

  ?IIF(xB=[男],1,IIF(Xb一[女],2,3))

  输出为2。

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved