1、国家二级 VF 机试(操作题)-试卷 25 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成下列操作:(1)打开名称为 SDB 的学生数据库,分别为学生表 Student、选课成绩表 SC 和课程表 Course 创建主索引。Student 表主索引的索引名和索引表达式均为“学号“;Course 表主索引的索引名和索引表达式均为“课程号“;SC 表的主索引名为 PK_SC,索引表达式为“学号+课程号“的字段组合。(2)通过字段“学号“建立 Student 表与 SC 表之间的永久联系,通过字段“课程号“建立 Course 表与
2、表 SC 之间的永久联系,并为以上建立的永久联系设置参照完整性约束:更新规则为“级联“;删除规则为“级联“;插入规则为“限制“。(3)使用 SQL 语句将学号为“s3“的学生记录从表 Student 中逻辑删除,并将该SQL 语句存放在文件 ONE.PRG 中。(4)创建一个名为 Project_S 的项目文件。将学生数据库 SDB 添加到该项目中。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹,打开商品销售数据库 CDB,完成如下简单应用:(1)使用一对多报表向导建立名称为P_ORDER 的报表。要求从父表顾客表 CUST 中选择所有字段,从子表订单表 OR
3、DER 中选择所有字段;两表之间采用“顾客号“字段连接;按“顾客号“字段升序排序;报表样式为“经营式“,方向为“纵向“;报表标题为“顾客订单表“。然后修改该报表,在页注脚中增加一个标签“制表人:王爱学“;该标签水平居中,标签中的“:“为中文的冒号。(2)修改一个名称为 TWO.PRG 的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表 ls 中。然后用 ls 中的每个顾客的数据去修改表 scust 对应的记录。该命令文件有 3 行语句有错误,打开该命令文件进行修改。注意:直接在错误处修改,不改变 SQL 语句的结构和短语的顺序,不允许增加、删除或合并行,修改完成后
4、,运行该命令文件。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,打开名称为 CDB 的商品销售数据库,完成如下综合应用:创建一个标题名为“顾客购买商品查询“、文件名为 GK 的表单,如下图所示。 (分数:2.00)_国家二级 VF 机试(操作题)-试卷 25 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成下列操作:(1)打开名称为 SDB 的学生数据库,分别为学生表 Student、选课成绩表 SC 和课程表 Course 创建主索引。Student 表主索引的索引名和索引表达式均为“学号
5、“;Course 表主索引的索引名和索引表达式均为“课程号“;SC 表的主索引名为 PK_SC,索引表达式为“学号+课程号“的字段组合。(2)通过字段“学号“建立 Student 表与 SC 表之间的永久联系,通过字段“课程号“建立 Course 表与表 SC 之间的永久联系,并为以上建立的永久联系设置参照完整性约束:更新规则为“级联“;删除规则为“级联“;插入规则为“限制“。(3)使用 SQL 语句将学号为“s3“的学生记录从表 Student 中逻辑删除,并将该SQL 语句存放在文件 ONE.PRG 中。(4)创建一个名为 Project_S 的项目文件。将学生数据库 SDB 添加到该项目
6、中。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)单击常用工具栏中的“打开“按钮,在“打开“对话框中打开数据库 SDB。在 Student 表中单击鼠标右键,在弹出的快捷菜单中选择“修改“命令,打开表设计器。选择“索引“选项卡,在索引名处输入“学号“,类型选择“主索引“,表达式为“学号“,单击“确定“按钮保存修改,完成建立 Student 表的主索引。用同样的方法建立 SC 表和 Course 表的主索引。 (2)在数据库设计器中,选中 Student 表中的索引“学号“并拖动到 SC 表的“学号“的索引上并松开,以建立两表之间的永久联系,然后执行“数据库“菜单下的“清理数据库
7、“命令。右击两表之间建立的关系线,在弹出的快捷菜单中选择“编辑参照完整性“命令。在“编辑参照完整性生成器“对话框中,依次选中“更新规则“选项卡下的“级联“单选按钮、“删除规则“选项卡下的“级联“单选按钮和“插入规则“选项卡下的“限制“单选按钮,最后单击“确定“按钮。再按照同样的方法设置 Course 表和 SC 表间的永久联系和参照完整性。 (3)SQL 语句为:delete from Student where 学号=“s3“,然后建立 ONE.PRG 文件并将上述语句保存在该文件中。 (4)按组合键 Ctrl+N 组合键,弹出“新建“对话框,在“文件类型“中选择“项目“,再单击“新建文件“
8、按钮;在弹出的“创建“对话框中,选择考生文件夹,在“项目文件“文本框中输入 Project_S,再单击“保存“按钮;在弹出的项目管理器中先选择“数据“选项卡,再选择“数据库“选项,最后单击“添加“按钮,在弹出的“打开“对话框中选择 SDB 数据库,单击“确定“按钮。)解析:二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹,打开商品销售数据库 CDB,完成如下简单应用:(1)使用一对多报表向导建立名称为P_ORDER 的报表。要求从父表顾客表 CUST 中选择所有字段,从子表订单表 ORDER 中选择所有字段;两表之间采用“顾客号“字段连接;按“顾客号“字段升序排序;报表样式为“经营
9、式“,方向为“纵向“;报表标题为“顾客订单表“。然后修改该报表,在页注脚中增加一个标签“制表人:王爱学“;该标签水平居中,标签中的“:“为中文的冒号。(2)修改一个名称为 TWO.PRG 的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表 ls 中。然后用 ls 中的每个顾客的数据去修改表 scust 对应的记录。该命令文件有 3 行语句有错误,打开该命令文件进行修改。注意:直接在错误处修改,不改变 SQL 语句的结构和短语的顺序,不允许增加、删除或合并行,修改完成后,运行该命令文件。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:单击“打
10、开“按钮,在“打开“对话框中选择考生文件夹下的 CDB 数据库。 步骤 2:单击常用工具栏中的“新建“按钮,“文件类型“选择“报表“,利用向导创建报表。 步骤 3:在“向导选取“对话框中,选择“一对多报表向导“并单击“确定“按钮,并显示“一对多报表向导“对话框。 步骤 4:在“一对多报表向导“对话框的“步骤 1-从父表选择字段“中,在“数据库和表“列表框中,选择表 CUST,然后在“可用字段“列表框中显示表 CUST 的所有字段名,并选定所有字段至“选定字段“列表框中,单击“下一步“按钮。 步骤 5:在“一对多报表向导“对话框的“步骤 2-从子表选择字段“中,在“数据库和表“列表框中,选择表
11、ORDER,然后在“可用字段“列表框中显示表 ORDER 的所有字段名,并选定所有字段至“选定字段“列表框中,单击“下一步“按钮。 步骤 6:在“一对多报表向导“对话框的“步骤 3-为表建立关系“中,单击“下一步“按钮。 步骤 7:在“一对多报表向导“对话框的“步骤 4-排序记录“中,选择“顾客号“和“升序“单选按钮,再单击“添加“按钮,单击“下一步“按钮。 步骤 8:在“一对多报表向导“对话框的“步骤 5-选择报表样式“中,选择“经营式“,方向选择“纵向“,单击“下一步“按钮。 步骤 9:在“一对多报表向导“对话框的“步骤 6-完成“中,在“报表标题“文本框中输入“顾客订单表“,单击“完成“
12、按钮。步骤 10:在“另存为“对话框中,输入保存报表名 P_ORDER,再单击“保存“按钮。 步骤 11:打开该报表,在页脚注中增加一个标签控件,输入:“制表人:王爱学“,选中该标签,再选择“格式“菜单下“对齐“子菜单中的“水平居中“命令。最后保存该报表。 (2)【操作步骤】 步骤 1:打开考生文件夹下的 TWO.PRG 文件。 步骤 2:修改其中的命令语句 错误 1:SELECT 顾客号,数量*单价 应付款; 修改为:SELECT 顾客号,sum(数量*单价)应付款; 错误 2:DO WHILE EOF() 修改为:DO WHILE.NOT.EOF() 错误 3:REPLACE ALL 应付
13、款 = money 修改为:REPLACE 应付款 WITH money 修改完成后运行该程序。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,打开名称为 CDB 的商品销售数据库,完成如下综合应用:创建一个标题名为“顾客购买商品查询“、文件名为 GK 的表单,如下图所示。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:单击“打开“按钮,在“打开“对话框中选择考生文件夹下的CDB 数据库。 步骤 2:单击“新建“按钮,在打开的“新建“对话框中选择“表单“选项,再单击“新建文件“按钮。 步骤 3:在表单上添加各控件、文本框、表格、命令按钮,并进行适当的
14、布置和大小调整。 步骤4:根据题目要求设置各标签、表格、命令按钮以及表单的属性值。 步骤 5:将表格 Grid1 的RecordSourceType 属性值设置为“4-SQL 说明“。 步骤 6:设置“查询“按钮的 Click 事件代码: ThisForm.Grid1.RecordSource=“SELECT Order.顾客号,Comm.商品号,商品名,单价,数量,Comm.单价* Order.数量 as 金额 FROM cdb!comm INNER JOIN cdb!order ON Comm.商品号=Order.商品号 WHERE 顾客号=ALLTRIM(ThisForm.Text1.V
15、alue) order by Comm.商品号 INTO TABLE tjb“ SELECT sum(Comm.单价* Order.数量) FROM cdb!comm INNER JOIN cdb!order ON Comm.商品号=Order.商品号 WHERE 顾客号=ALLTRIM(ThisForm.Text1.Value) INTO ARRAY temp ThisForm.Text2.Value=temp 步骤 7:设置“退出“按钮的 Click 事件代码: Release ThisForm 步骤 8:保存表单为 GK 并运行,在“顾客号“文本框输入“010003“,单击“查询“按钮进行计算。最后,单击“退出“按钮结束。)解析:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1