vf错误类别
在计算机二级VF上机操作工程中,我们经常会遇到些输入错误,在此,我搜集了些许资料,希望对大家会有所帮助……
一、输入命令时常见错误分析
1、不能识别的命令谓词
产生原因:(1)关键词拼写错误
(2)命令动词与短语、短语中各单词之间没有用空格隔开
(3)命令动词、短语中的英文单词、运算符号和标点符号等在全角状态下输入
(4)在一行内输入多条命令
(5)将一条命令多行输入时中途换行没有分号“;”
2、找不到变量
产生原因:(1)命令动词与短语、短语中各单词之间没有用空格隔开
(2)命令动词、短语中的英文单词在全角状态下输入
3、语法错误/命令中缺少必要的字句
产生原因:(1)语句的结构不完整
(2)运算符和标点符号是在全角状态下输入或为中文符号
4、嵌套错误
产生原因:(1)关键词缺少配对,如有if却没有end if,有for却没有end for
(2)配对关键词的个数不相等
5、操作符/操作数类型不匹配
产生原因:运算符两边的变量或数据类型不一致
6、缺少函数参数的值、类型或数目无效
产生原因:函数参数的个数不对或传递的参数类型不对
7、所需文件不存在
产生原因:(1)没有设置默认路径
(2)要打开的表文件或菜单文件没有存放在默认目录下
(3)调用没有定义的函数或过程
对于有系统提示的错误我们只要在命令输入时做到认真就可以尽量的避免了。
二、创建表文件时常见错误分析
1、 没有设置默认路径
不少考生在事先没有用SET DEFAULT TO命令设置好当前盘当前目录的情况下进行考试 ,结果所创建的文件未能按要求存入指定盘指定目录中,由此常常导致上机操作考试失败。
2、创建表文件时忽略了小数点和消失位数也包含在字段宽度之内的事实。导致输入数据时产生溢出。
3、 在Visual FoxPro 中,A~Z单个英文字母已被专门用作工作区的别名,用户不能在用他们作为表文件名。错误提示:“别名已被使用”。
三、记录操作时常见错误分析
1、 记录的显示
单纯显示表记录的命令主要有LIST和DISPLAY两个。
LIST连续 (集中 )显示表记录,当命令中的" "和" "均缺省时 ,LIST显示所有记录。
DISPLAY分屏显示表记录,当命令中的" "和" "均缺省时,DISPLAY只显示当前记录,另外要使DISPLAY命令也能显示所有记录 ,应指定显示记录范围ALL。
2、 记录的定位
记录的定位主要有绝对定位 (GO/GOTO)、相对定位 (SKIP)和条件定位 (LOCATE)三种。如果不能正确理解相对定位命令SKIP的真正含义 ,就容易与绝对定位命令GO/GOTO相混淆。
3、 记录的修改
记录的修改有编辑修改 (EDIT)、
条件修改(CHANGE)、窗口浏览修改 (BROWSE)、自动替换修改 (REPLACE)等多种修改方式。
使用EDIT和BROWSE对记录进行修改时 ,修改完毕应按^W或单击记录编辑窗口右上角的"X"号退出 ,而不能简单地按键退出 ,否则 ,对最后一个记录的修改将会失效。
REPLACE是一个可以使成批有规律的数据获得自动替换修改的命令 ,其格式为 :
REPLACE [][][FOR ]
其中替换清单的格式如下 :
WITH [, WITH …… ]
学生使用REPLACE命令时经常出错的地方主要有二:
一是当要求对所有记录指定字段进行自动替换修改时 ,未能指定记录范围ALL ,结果系统只对当前记录进行自动替换修改;
二是输入 的数据类型与对应字段的数据类型不一致。
例如下面列出的两条命令:
REPLACE 工资 WITH 工资+30
REPLACE 出生日期 WITH "05/15/50"
第一条命令本身并没有错 ,但它只对当前记录的工资字段进行自动替换修改 ,而未能达到对所有记录的工资进行自动修改的目的;
第二条命令中输入的替换内容"64/10/20"的数据类型与日期型字段"出生日期"的数据类型不一致 ,结果系统显示出错误信息 :"数据类型不匹配"。上面两条命令可改成如下正确的形式 :
REPLACE ALL 工资 WITH 工资+30
REPLACE 出生日期 WITH { 05/15/50 }
四、记录索引时常见错误分析
关键字建立索引文件时 ,非字符型关键字必须先转成字符型 ,才能用加号" +"将各关键字连接起来 ,构成一个字符型的索引关键字表达式。
五、表文件数据查询时常见错误分析
1、 顺序查询——记录查询不完整
用LOCATE命令可按顺序查询表文件中满足条件的记录 ,但它必须与CONTINUE命令配合使用方可查询到表文件中满足条件的所有记录,否则只能查询到第一条记录。
2、 索引查询
学生使用SEEK命令时常见的错误主要有:
一是检索前没有建立和打开与 相对应的索引文件 ——表没有设置排序索引;
二是输入 的类型与索引关键字的类型不一致 ——数据类型不匹配";
三是当为字符型时没有用定界符将其括起来——找不到变量。