1、国家二级 VF机试(操作题)-试卷 247及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)创建一个名为“订单管理”的数据库,并将已有的 employee、orders 和 customer三个表添加到该数据库中。 (2)为 Orders表建立一个普通索引,索引名为 nf,索引表达式为“year(签订日期)”。 (3)为 employee表建立主索引,为 order建立普通索引,索引名和索引表达式均为“职员号”。通过“职员号”在 employee表和 orders表之间建矗一个一对多的水久联系。 (4)为上述建立的联系设置参照完整性约束:更
2、新规则为“限制”,删除规则为“级联”,插入规则为“限制”。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)打开程序文件 progerrprg,按文件中给出的功能要求改正其中的错误,以文件名 prognewprg重新保存该文件并运行程序。 (2)建立顶层表单,表单文件名为 myformSCX,表单控件名为 myform,表单标题为“顶层表单”。为顶层表单建立菜单 mymenu。菜单栏如图 3-24所示(无下拉菜单),单击“退出”菜单时,关闭释放此顶层表单,并返回到系统菜单(在过程中完成)。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下
3、的 gnhtdbf 是一个合同管理表文件,其中部分字段的含义是:hth(合同号)、dhdw(订货单位)、ghdw(供货单位)、msl(订货数量)。 编写程序 progzhp 唱分别统计订货单位数、供货单位数、订货总数,并将结果填写到 jieguodbf。(在考生文件夹下已经存在)表文件中。 说明:以上命令文件必须执行,并产生所要求的结果。(分数:2.00)_国家二级 VF机试(操作题)-试卷 247答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)创建一个名为“订单管理”的数据库,并将已有的 employee、orders 和 custome
4、r三个表添加到该数据库中。 (2)为 Orders表建立一个普通索引,索引名为 nf,索引表达式为“year(签订日期)”。 (3)为 employee表建立主索引,为 order建立普通索引,索引名和索引表达式均为“职员号”。通过“职员号”在 employee表和 orders表之间建矗一个一对多的水久联系。 (4)为上述建立的联系设置参照完整性约束:更新规则为“限制”,删除规则为“级联”,插入规则为“限制”。(分数:2.00)_正确答案:(正确答案:(1)命令窗口执行: NODIFY DATABASE 订单管理,创建数据库并打开数据库设计器。 数据库设计器中右击,选择【添加表】,侄“打开”
5、对话框中双击 employee 表添加到数据库中;以同样的方法,再将 orders和 customer表添加到数据库中。 (2)在数据库设计器中右击 orders表,选择【修改】,打开表设计器。 在表设计器的“索引”选项卡的“索引名”列输入 nf,“类型”设置为“普通索引”,“表达式”中输入“year(签订日期)”,单击“确定”按钮保存表结构修改。 (3)右击数据库设计器中的 employee表,选择【修改】,打开表设计器,“字段”选项卡选“职员号”,“排序”列中选择“升序”,建立“职工号”的普通索引,在“索引”选项卡中修改“类型”为“主索引”,单击“确定”。 参照 employee表的操作为
6、 orders表再建立“职员号”字段的普通索引。然后在数据库设计器中拖动 employee表“索引”下方的主索引“职员号”到 orders表中“索引”下方的普通索引“职员号”上,为两个表建立联系。 (4)选中两个表之间的关联线(被选中的连线会变粗),首先执行【数据库】【清理数据库】菜单命令,清空数据表中带有删除标记已的记录,然后执行【数据库】【编辑参照完整性】菜单命令。 在打开的“参照完整性”对话框的表格中,选择“更新”下的单元格内容为“限制”;“删除”下的单元格内容为“级联”;“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。)解析:解析:本题考查了数据库的建立及基本操
7、作;表索引的建立;表间联系的建立;参照完整性设置。 利用 MODIFY DATABASE命令可以新建数据库并打开数据库设计器,在数据库设计器中可以进行添加、新建和删除表等操作。数据库设计器中,建立联系前必须对两个表中进行连接的字段建立相关索引,并通过索引字段建立表问联系,在表设计器的“索引”选项卡中可以建立表索引。建立参照完整性前要先建立两个表的联系;建立联系后要先清理数据库,然后再设置参照完整性。二、简单应用题(总题数:1,分数:2.00)2.(1)打开程序文件 progerrprg,按文件中给出的功能要求改正其中的错误,以文件名 prognewprg重新保存该文件并运行程序。 (2)建立顶
8、层表单,表单文件名为 myformSCX,表单控件名为 myform,表单标题为“顶层表单”。为顶层表单建立菜单 mymenu。菜单栏如图 3-24所示(无下拉菜单),单击“退出”菜单时,关闭释放此顶层表单,并返回到系统菜单(在过程中完成)。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:命令窗口执行: MODIFY COMMAND progerr ,打开 progerr程序文件,文件中的命令代码如下: *本题目需要在基本操作题的基础上完成。本程序在表 ordersdbf的基础上完成如下功能: *(1)创建视图 viewes,视图内容为按职工号统计订单金额(每个职工经于的订单总金额
9、),统计结果包括:职工号、总金额: *(2)从视图 viewes 中查询订单总金额在 30000以上(含 30000)的职工信息(职工号,总金额),查询结果按总金额降序排序并存入表 newtabledbf。 1 OPEN DATABASE ORDERSMANAGE 2 CREATE views AS; 3 SELECT 职工号,SUM(金额)AS 总金额; 4 FROM ORDERS; 5 GROuP BY 职工号 6 SELECT * FROM ORDERS: 7 WHERE 总金额=30000; 8 ORDER BY 总金额 DESC; 修改程序中的错误行,修改后的程序如下: 1 OPEN
10、 DATABASE ORDERSMANAGE 2 CREATE VIEW views AS; 命令格式错误,建市视图命令要使用 CREATE VIEW 3 SELECT 职工号,SUM(金额)AS 总金额; 4 FROM ORDERS; 5 GROUp BY 职工号 6 SELECT * FROM views; 从视图 views中查找,不是从 orders表查询,是第二处错误 7 WHERE 总金额=30 0 00 ; 8 ORDER BY 总金额 DESC; 9 INTO TABLE rfewtable将结果保存在表中 步骤 2:执行【文件】【另存为】菜单命令,在弹出的“另存为”对话框的“
11、保存文档为:”文本框中输入新的文件名:prognew,单击“保存”命令保存文件。 步骤 3:命令窗口执行:DO prognewprg,执行程序。 (2)步骤 1:命令窗口执行: CREATE MENu mymenu ,在“新建菜单”中单击“菜单”按钮。在菜单设计器“菜单名称”中依次输入“文件”、“编辑”和“退出”3个主菜单名。 步骤 2:选择“退出”菜单命令的“结果”项为“过程”,单击“过程”后面的“创建”按钮打开过程编辑器,编写过程代码并输入命令语句:mvformRELEASE。 步骤 3:执行【显示】【常规选项】菜单命令,在“常规选项”中勾选“顶层表单”复选框,然后单击“确定”保存修改。
12、步骤4:执行【菜单】【生成】菜单命令,在弹出的对话框中单击“是”按钮,弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件,关闭菜单设计器。 步骤 5:命令窗口执行: CREATE FORM myform,打开表单设计器。选中表单,在“属性”窗口中修改表单(myform)的属性值,见表 430。 * 步骤 6:编写表单的 Load事件代码如下: DO mymenu.mpr WITH THIS,“TTT“ 步骤 7:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 )解析:解析:(1)本题主要考查了利用 SQL命令建立视图;SQL 分组查询;SQL 排序查询
13、。 SQL 命今建立视图的基本命令格式为:CREATE VIEWAS,本题第一处错误是建立视图时的命令出错。 本题的第二处错误是要求从视图 views中查询数据,而不是“orders”表,与题目要求不符。 本题的第三处错误是,缺少查询结果取向语句,题目要求将查询结果保存在表 NEWTABLE中,应使用 INTO TABLE或 INTO DBF语句。 (2)本题主要考查的是菜单在顶层表单中的应用。主要包括两大部分的操作,即菜单设计和表单设计。 菜单设计有两个关键操作:一是在菜单设计器中勾选“常规选项”对话框中的“顶层表单”,表示此菜单存在顶层表单中;二是在释放表单时,要使用表单的文件名,即本题中
14、可以通过MAINFORMRELEASE 命令释放 MAINFORM表单,注意不要使用 THISF(DRMRELEASE 命令释放表单。 在表单设计过程中,要注意通过表单的 showWindow属性值将表单设置为顶层表单,在表单的 Load(或 INIT)事件中调用菜单文件,还需要通过 THIS短语指定当前表单对象的引用。其基本格式为:DOWITHTHIS,“。三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下的 gnhtdbf 是一个合同管理表文件,其中部分字段的含义是:hth(合同号)、dhdw(订货单位)、ghdw(供货单位)、msl(订货数量)。 编写程序 progzhp 唱分
15、别统计订货单位数、供货单位数、订货总数,并将结果填写到 jieguodbf。(在考生文件夹下已经存在)表文件中。 说明:以上命令文件必须执行,并产生所要求的结果。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: MODIFY COMMAND progzh ,打开程序文件编辑器。步骤 2:在程序文件编辑器中输入如下代码: 1 SELECT COUNT(DISTINCT dhdw)FROM gnht INTO ARRAY arr UPDATE JIEGUO SET num=arr WHERE name=“订货单位数“ 3 SELECT COUNT(DISTINCT ghdw
16、) FROM gnht INTO ARRAY arr 4 UPDATE jieguo SET num=arr WHERE name=“供货单位数“ 5 SELECT SUM(jhsl) FROM gnht INTO ARRAY arr 6 UPDATE jieguo SET num=arr WHERE name=“订货总数“ 步骤 3:保存文件修改,在命令窗口执行命令: DO progzh.prg ,执行程序文件。)解析:解析:本大题主要考查的是 SQL简单计算查询和数据更新功能。设计 SQL简单计算查询时,关键是要排除字段中重复的记录,利用 DISTINCT短语可以消除重复记录,查询的结果可以保存到数组中,然后再利用 SQL更新语句更新表中的记录,根据题目,在 jieguo表中有 3条记录需要更新,因此,可以通过3次计算和更新,分别更新表中的每条记录。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1