VF辅导:VFP测试函数
在数据库操作过程中,用户需要知道数据对象的类型、状态等属性。Visual FoxPro提供了相关的测试函数,使用户能够准确地获得操作对象的相关属性。
1.数据类型测试函数
格式:VARTYPE((表达式),[(逻辑表达式)])
函数:测试表达式的数据类型,返回字母表示的数据类型。函数值是字符类型。未定义或不正确的表达式返回字母u。如果表达式是数组,则根据第一个数组元素的类型返回字符串。
如果表达式的运算结果为空,则根据函数中逻辑表达式的值决定是否返回表达式的类型。具体规则是:如果逻辑表达式为。t .,将返回表达式的原始数据类型。如果逻辑表达式为。或者省略,则返回X,表示表达式的结果为空值。
例如:
a = date()
a = null
?VARTYPE(5),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.记录号测试函数
格式:重新计数([(工作区代码|别名>])
函数:返回当前或指定表格中的记录数。如果在指定的工作空间中没有打开任何表,则函数值为o。如果省略该参数,则默认情况下它将是当前工作空间。RECCOUNT()返回的值不受SET r)EI的影响。ETED和SET FIITER总是返回记录的总数,包括那些标记为删除的记录。
6.查明函数是否测试成功
Format: FOUND([])
功能:检查所需数据是否在当前表或指定表中找到。如果省略该参数,默认情况下,它将是当前工作空间。搜索数据是通过FIND、SEEK、LOCATE或CONTINUE命令实现的。如果这些命令搜索所需的数据记录,则函数值为。t .,否则,函数值为。f .如果在指定的工作空间中没有打开表,FOUND()返回. f .如果使用GO等非搜索命令移动记录指针,则函数值为。f.
7.文件是否具有测试功能
格式:文件((文件名>)
功能:检测指定的文件是否存在。如果文件存在,则函数值为。t,否则函数值为。f .文件名必须是全名,包括驱动器号、路径和扩展名,并且(文件名)是一个字符表达式。
8.判断值是否在两个值之间的函数
格式:BETwEEN(,函数:判断一个表达式的值是否在同一数据类型的两个表达式值之间。BETwEEN()首先计算表达式。如果字符、数值、日期和表达式的值是Beth:EEN相同类型的两个表达式的值,即被测试表达式的值大于或等于下限表达式的值且小于或等于上限表达式的值,Beth:een()将返回的值。t,否则,它将返回。f.
例:
gz-375
7 BETWEEN(gz,260,650)
输出为. t。
9.条件函数IIF
格式:IIF((逻辑表达式),(表达式1),(表达式2 >)
函数:如果逻辑表达式的值为。t .,函数值为(表达式1 >),否则为。
例如:
xb= "female"
?IIF(xB=[男],1,IIF(xB one[女],2,3))
输出为2。
0条评论