点击查看:2017年12月计算机二级VFP考试考前7天冲刺题汇总
一、基本操作题
1[简答题]
在考生文件夹下完成如下基本操作:
1.通过SQL INSERT语句插入元组(”p7”,”PN7”,1020)到“零件信息”表(注意不要重复执行插入操作),并将相应的SQL语句存储在文件one.prg中。
2.通过SQL DELETE语句从“零件信息”表中删除单价小于600的所有记录,并将相应的SQL语句存储在文件two.prg中。
3.通过SQL UPDATE语句将“零件信息”表中零件号为“p4”的零件的单价更改为1090,并将相应的SQL语句存储在文件three.prg中。
4.打开菜单文件mymenu.mnx,然后生成可执行的菜单程序mymenu.mpr。
参考解析:【考点分析】本大题主要考查的知识点是:利用SQL语句对表进行插入、删除、修改等操作,为菜单生成可执行的菜单程序。 【解题思路】对于第1、2、3小题,需先在命令窗口中完成正确的SQL语句的编写并执行,然后检查SQL语句的执行结果,接下来新建题目要求的程序文件,最后将SQL语句复制到新建的程序文件中。生成可执行的菜单程序需先打开菜单文件,然后执行“菜单”菜单中的“生成”命令。
【操作步骤】
(1)打开Visual FoxPro,在命令窗口输入“INSERT INT0零件信息VALUES(”p7”,”PN7”,1020)”,并按下回车键执行语句。
然后创建一个程序文件one.prg,把代码复制过去并保存。
(2)在命令窗口输入“DELETE FROM零件信息WHERE单价<600”,并按下回车键执行语句。
然后创建一个程序文件two.prg,把代码复制过去并保存。
(3)在命令窗口输入“UPDATE零件信息SET单价=1090 WHERE零件号=”p4””,并按下回车键执行语句。
然后创建一个程序文件three.prg,把代码复制过去并保存。
(4)打开菜单mymenu.mnx后,选择系统菜单中的“菜单”,然后选择“生成”。
二、简单应用题
2[简答题]
在考生文件夹,打开商品销售数据库CDB,完成如下简单应用:
1.使用一对多报表向导建立名称为P_ORDER的报表。要求从父表顾客表CUST中选择所有字段,从子表订单表0RDER中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序;报表样式为“经营式”,方向为“纵向”;报表标题为“顾客订单表”。然后修改该报表,在页注脚中增加一个标签“制表人:王爱学”;该标签水平居中,标签中的“:”为中文的冒号。
2.修改一个名称为two.PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表1s中。然后用1s中的每个顾客的数据去修改表scust对应的记录。该命令文件有3行语句有错误,打开该命令文件进行修改。注意:直接在错误处修改,不改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行,修改完成后,运行该命令文件。
参考解析:【考点分析】本大题主要考查的知识点是:通过报表向导建立报表及报表中标签的设置修改、SQL语句的使用。 【解题思路】根据题目的要求在报表中逐步操作即可得到报表,修改SQL语句运行查看结果检查是否正确修改。
(1)【操作步骤】
步骤1:单击“打开”按钮,在“打开”对话框中选择考生文件夹下的CDB数据库。
步骤2:单击常用工具栏中的“新建”按钮,“文件类型”选择“报表”,利用向导创建报表。
步骤3:在“向导选取”对话框中,选择“一对多报表向导”并单击“确定”按钮,并显示“一对多报表向导”对话框。
步骤4:在“一对多报表向导”对话框的“步骤1-从父表选择字段”中,在“数据库和表”列表框中,选择表CUST,然后在“可用字段”列表框中显示表CUST的所有字段名,并选定所有字段至“选定字段”列表框中,单击“下一步”按钮。
步骤5:在“一对多报表向导”对话框的“步骤2-从子表选择字段”中,在“数据库和表”列表框中,选择表ORDER,然后在“可用字段”列表框中显示表ORDER的所有字段名,并选定所有字段至“选定字段”列表框中,单击“下一步”按钮。
步骤6:在“一对多报表向导”对话框的“步骤3-为表建立关系”中,单击“下一步”按钮。
步骤7:在“一对多报表向导”对话框的“步骤4-排序记录”中,选择“顾客号”和“升序”单选按钮,再单击“添加”按钮,单击“下一步”按钮。
步骤8:在“一对多报表向导”对话框的“步骤5-选择报表样式”中,选择“经营式”,方向选择“纵向”,单击“下一步”按钮。
步骤9:在“一对多报表向导”对话框的“步骤6-完成“中,在”报表标题“文本框中输入”顾客订单表“,单击”完成“按钮。
步骤10:在“另存为”对话框中,输入保存报表名P_ORDER,再单击“保存”按钮。
步骤11:打开该报表,在页脚注中增加一个标签控件,输入:“制表人:王爱学”,选中该标签,再选择”格式”菜单下“对齐”子菜单中的“水平居中”命令。最后保存该报表。
(2)【操作步骤】
步骤1:打开考生文件夹下的TWO.PRG文件。
步骤2:修改其中的命令语句
错误1:SELECT顾客号,数量*单价应付款;修改为:SELECT顾客号,sum(数量*单价)应付款;
错误2:DO WHILE EOF()
修改为:DO WHILE.NOT.EOF()
错误3:REPLACE ALL应付款=money
修改为:REPLACE应付款WITH money
修改完成后运行该程序。
【易错提示】在第1小题中,需要注意“报表样式”和“报表方向”的选择,这两个操作都是在“步骤5-选择报表样式”对话框中设置完成的,第2小题中要注意题目要求中明确要求的使用中文冒号。
三、综合应用题
3[简答题]
利用表设计器在考生文件夹下建立表table3,表结构如下:
然后编写程序prog1.prg,在xuesheng表和chengji表中查询所有成绩不及格(分数小于60)的学生信息(学号、姓名、课程名和分数),并把这些数据保存到表table3中(若一个学生有多门课程不及格,在表table3中就会有多条记录)。要求查询结果按分数升序排列,分数相同则按学号降序排列。
要求:在程序中用SET RELATION命令建立chengji表和xuesheng表之间的关联(同时用INDEX命令建立相关的索引),并通过DO WHILE循环语句实现规定的功能。最后运行程序。
参考解析:【考点分析】本大题主要考查的知识点是:新建自由表,创建程序文件,SQL语句中的0RDER BY、GROUPBY、INTO TABLE短语的使用,循环、选择语句的使用,利用命令建立索引,删除表以及SQL的插入语句。 【解题思路】利用建立索引的命令来新建索引,通过循环语句的使用来判断满足条件的数据,再使用IF语句进行分段节选,将符合要求的信息进行保存,最后再将查询出的结果进行排序和保存,删除中间表。
【操作步骤】
步骤1:通过前面所学的知识,按照题目的要求新建一张表table3。
步骤2:新建程序prog1.prg,输入下列命令语句,并运行该程序。
* * * * * * prog1.prg中的代码* * * * * * *
&&关闭程序运算的显示过程
SET TALK OFF
&&打开数据库
OPEN DATABASE cj_m
&&选择查询字段,制定字段来源,设置查询条件,将查询结果存储列表temp中
SELECT*FRON table3 NHERE.F.TNTOTABLE temp
SEL,ECT 1
&&打开xuesheng表
USE xuesheng
&&建立索引
INDEX ON学号TAG学号
SELECT 2
&&打开chengji表
USE chengji
&&建立索引
INDEX ON学号TAG学号
SET RELATION T0学号INTO xuesheng
GOTOP
&&循环直至遍历所有记录
DO WHILE.NOT.EOF()
&&先进行判断,满足条件就向temp表中插入数据
IF chengji.数学<60
INSERT INTO temp Values(xuesheng.学号,xuesheng.姓名,‘数学’,chencjji.数学)
ENDIF
&&先进行判断,满足条件就向temp表中
插入数据TF chencsji.英语<60
INSERT TNTO temp Values(xuesheng.学号,xuesheng.姓名,‘英语’,chengji.英语)
(ENDTF
&&先进行判断,满足条件就向temp表中插入数据
(IF chencjji.信息技术<60
INSERT TNTO temp Valuea(xueshencj.学号,xuesheng.姓名,‘信息技术’,chengji.信息技术)
(ENDDO
&&选择查询字段,指定字段来源,查询结果按分数升序排列,分数相同按学号升序排列,将查询结果存储到AR.RAY arr中
SELECT*FROM temp ORDER BY分数,学号
DESC TNTO ARRAY arr
&&将ARRAY arr中数据插入table3中
TNSERT TNTO table3 FROM ARRAY arr
&&关闭数据库
CLOSE DAr2ABASE
关闭表
CLOSE TABT,ES ALL
删除temp
DROP TABLE temp
&&关闭程序运算的显示过程
SET TALK ON
&&返回
RETURN
* * * * * * * * * * * * * * * * * * * *
【易错提示】对于建立普通索引的命令以及利用命令删除表,考生需要牢记,在循环语句和选择语句的嵌套使用,也是需要考生特别注意的。