1、国家二级 VF机试(操作题)模拟试卷 157及答案与解析 一、基本操作题 1 在考生文件夹下完成如下操作: (1)建立数据库 orders_manage。 (2)将自由表 employee和 orders添加到新建的 orders_manage数据库中。 (3)表 employee与表 orders具有一对多联系,为建立两表之间的联系建立必要的索引。 (4)建立两表之间的联系并设置参照完整性规则如下:更新规则为 “级联 ”、删除规则为 “级联 ”、插入规则为 “限制 ”。 2 在考生文件夹下完 成如下简单应用: (1)使用 SQL语句查询每个职工所经手的具有最高金额的订购单信息 (orders
2、表 ),并将结果按金额升序、金额相同按订购单号升序存储到表 results中。 (2)使用 SQL命令建立视图 view_b,视图中是目前在 orders表中没有所签订单的职工 (employee)信息,记录按仓库号降序排列;同时把所用命令保存在文本文件view_b txt中。 3 建立一个表单,表单文件名和表单控件名均为 myform_b,表单标题为 “订单管理 ”,表单其他功能如下: (1)表单中含 有一个页框控件 (PageFrame1)和一个 “退出 ”命令按钮 (Command1),单击 “退出 ”命令按钮关闭并释放表单; (2)页框控件 (PageFrame1)中含有三个页面,每个
3、页面都通过一个表格控件显示有关信息: 第一个页面 Page1的标题为 “职工 ”,其上的表格用于显示表 emlployee中的内容。其中表格的控件名为 grdemployee、 RecordSourceType属性值应为 1(别名 )。 第二个页面 Page2的标题为 “订单 ”,其上的表格用于显示表 orders中的内容。其中 表格的控件名为 grdorders、 RecordSourceType属性值应为 1(别名 )。 第三个页面 Page3的标题为 “职工订单金额 ”,其上的表格显示每个职工的职工号、姓名及其所经手的订单总金额 (注:表格只有 3列,第 1列为 “职工号 ”,第 2列为
4、 “姓名 ”,第 3列为 “总金额 ”)。其中表格的控件名为 Grid1、 RecordSourceType属性值应为 4(SQL语句 )。 国家二级 VF机试(操作题)模拟试卷 157答案与解析 一、基本操作题 1 【正确答案】 (1)【操作步骤】 步骤 1:单击工具栏中的 “新建 ”按钮。 步骤 2:在 “新建 ”对话框中,选择 “数据库 ”单选选钮,再单击 “新建文件 ”按钮,弹出 “创建 ”对话框。 步骤 3:在 “创建 ”对话框中输人数据库名 “orders_man-age”,再单击回车键或单击 “保存 ”按钮,弹出 “数据库设计器 -orders_manage”对话框,如图 4 2
5、2所示。 (2)【操作步骤】 步骤 l:单击工具栏中的 “打开 ”按钮,选择 “文件类型 ”为数据库,打开 “orders_manage”,如图4 23所示。 步骤 2:在 “数据库设计器 -orders_manage”中单击鼠标右键,显示右击 菜单,选择 “添加表 ”命令,并选择相应的表文件即可 (employee和 orders),如图 4 24所示。(3)【操作步骤】 步骤 l:单击工具栏中的 “打开 ”按钮,选择 “文件类型 ”为数据库,打开 “orders_manage”。 步骤 2:在 “数据库设计器 -orders_manage”中,选择表 “employee”并单击鼠标右键,选
6、择 “修改 ”命令,在 “表设计器 -employee dbf”中,单击 “索引 ”选项卡,然后输入索引名“职工号 ”,选择类型为 “主索引 ”,表达式为 “职工号 ”,最后单击 “确定 ”按钮,再单击 “是 (Y)”,索引即可建立,如图 4 25所示。步骤 3:在 “数据库设计器 -orders_manage”中,选择表 “orders”并单击鼠标右键,选择 “修改 ”命令,在 “表设计器 -orders dbf”中,单击 “索引 ”选项卡,然后输入索引名 “职工号 ”,选择类型为 “普通的索引 ”,表达式为 “职工号 ”,最后单击 “确定 ”按钮,再单击 “是 (Y)”,索引即可建立,如图
7、 4 26所示。 步骤 4:在“数据库设计器 -orders_manage”中,选择 “employee”表中主索引键 “职工号 ”并按住不放,然后移动鼠标拖到 “orders”表中的索引键为 “职工号 ”处,松开鼠标即可,如图4 27所示。 (4)【操作步骤】 步骤 l:在已建立永久性联系后,双击关系线,并显示 “编辑关系 ”对话框。 步骤 2:在 “编辑关系 ”对话框中,单击 “参照完整性 ”按钮,并显示 “参照完整性生成器 ”。 步骤3:在 “参照完整性生成器 ”对话框中,单击 “更新规则 ”选项卡,并选择 “级联 ”单选按钮,单击 “删除规则 ”选项卡,并选择 “级联 ”单选按钮,单击
8、 “插入规则 ”选项卡,并选择 “限制 ”单选按钮,接着 单击 “确定 ”按钮,并显示 “是否保存改变,生成参照完整性代码并退出 ?”,最后单击 “是 ”按钮,即可生成指定参照完整性,如图 4 28所示。 注意:可能会出现要求清理数据库,那么请清理后重新做操作。 2 【正确答案】 (1)【操作步骤】 在命令窗口输入以下语句,并按回车键。 SELECT ; FROM Orders; ORDER BY金额: WHERE职工号 +str(金额, 10,0)IN; (SELECT职工号 +str(MAX(orders金额 ), 10, 0); FROM orders; GROUP BY职工号 ); I
9、NTO TABLE results (2)【操作步骤】 步骤 1:打开数据库orders_manager,在命令窗口输入以下语句,并按回车键。 CREATE view view_b as SELECT木 FROM employee WHERE职工号 NOT IN(SELECT职工号 FROM orders) ORDER BY仓库号 DESC 步骤 2:新建一个文本文件,将语句复制到文本中,并保存为 view_b txt,如图 4 29所示。 3 【正确答案】 步骤 1:单击常用工具栏中的 “新建 ”按钮,文件类型选择 “表单 ”,打开表单设计器。单击工具栏上 “保存 ”按钮,在弹出 “保存 ”
10、对话框中输入“myform_b”即可。 步骤 2:在 “表单设计器 ”中,在 “属性 ”的 Caption处输入 “订单管理 ”,在 Name处输入 “myform_b”。 步骤 3:在 “表单设计器 ”中,单击鼠标右键,在弹出菜单中选择 “数据环境 ”,在 “数据环境设计器 -myform_b scx”中,在 “打开 ”对话框中,选择 “employee dbf”表,接着在 “添加表或视图 ”的对话框中,双击表“orders”,再按 “关闭 ”按钮,关闭 “添加表或视图 ”对话框。 步骤 4: 在 “表单设计器 ”中,添加一个页框 Pageframe1,在其 “属性 ”的 PageCount
11、处输入 “3”,如图4 30所示。选中 Page1,在其 “属性 ”的 Caption处输入 “职工 ”,选中 Page2,在其“属性 ”的 Caption处输入 “订单 ”,选中 Page3,在其 “属性 ”的 Caption处输入 “职工订单金额 ”,结果如图 4 31所示。 步骤5:在 “表单设计器 ”中,添加一个命令按钮,在其 “属性 ”的 Caption处输入 “退出 ”,双击 “Command1”命令按钮,在 “Command1 Click”编辑窗口中输入“Thisform Release”,接着关闭编辑窗口。 步骤 6:选中 “职工 ”页,打开 “数据环境 ”,按住 “emlpl
12、oyee”不放,拖至 “职工 ”页左上角处松开鼠标,结果如图 4 32所示;选中 “订单 ”页,打开 “数据环境 ”,按住 “orders”不放,拖至 “订单 ”页左上角处松开鼠标,结果如图 4 33所示;选中 “职工订单金额 ”,添加一个表格控件Grid1,在 Grid1“属性 ”的 RecordSourceTyrpe处选择 “4-SQL说明 ”,在RecordSource处输入 “SELECT employee职工号,姓名, sum(金额 )as总金额FROM employee, orders WHERE employee职工号 =orders职工号 GROUP BY orders职工号 INTO cursor temp”,结果如图 4 34所示。步骤 7:保存并运行表单,执行相关操作,如图 4 35所示。