1、国家二级 VF 机试-试卷 37 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)将数据库“职员管理”添加到项目“xm”中。 (2)对数据库“职员管理”下的表“部门”,使用视图向导建立视图“view1”,要求显示出表中的全部字段,并按“部门编号”排序(升序)。 (3)设置表“员工信息”的字段“性别”的默认值为“男”。 (4)为表“员工信息”的字段“工资”设置完整性约束,要求工资至少在 800 元(含)以上,否则提示信息:“工资必须达到最低保障线 800”。(分数:2.00)_二、简单应用题(总题数:
2、2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)将 order detail1 表中的全部记录追加到 order detail 表中,然后用 SQL SELECT 语句完成查询:列出所有订购单的“订单号”、“订购日期”、“器件号”、“器件名”和“总金额”(按“订单号”升序,“订单号”相同再按“总金额”降序),并将结果存储到 results 表中(其中“订单号”、“订购日期”、“总金额”取自 order_list 表,“器件号”、“器件名”取自 order_detail 表)。 (2)打开modilprg 命令文件,该命令文件包含 3 条 SQL 语句,每条 SQL 语句中都
3、有一个错误,请改正(注意;在出现错误的地方直接改正,不可以改变 SQL 语句的结构和 SQL 短语的顺序)。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.score_manger 数据库中含有三个数据库表 student、scorcl 和 course。为了对 score manager 数据库数据进行查询,设计一个如图 1-17 所示的表单 myform1(控件名为 form1,表单文件名 myform1scx)。表单的标题为“成绩查询”。 (分数:2.00)_国家二级 VF 机试-试卷 37 答案解析(总分:12.00,做题时间:
4、90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)将数据库“职员管理”添加到项目“xm”中。 (2)对数据库“职员管理”下的表“部门”,使用视图向导建立视图“view1”,要求显示出表中的全部字段,并按“部门编号”排序(升序)。 (3)设置表“员工信息”的字段“性别”的默认值为“男”。 (4)为表“员工信息”的字段“工资”设置完整性约束,要求工资至少在 800 元(含)以上,否则提示信息:“工资必须达到最低保障线 800”。(分数:2.00)_正确答案:(正确答案:(1)选择【文件】【新建】命令,选择“项目”,单击“新建文件”按钮,输
5、入项目名称“xm”后单击“保存”按钮。 在项目管理器中选择“数据”选项卡,然后选择列表框中的“数据库”,单击“添加”命令按钮,在“打开”对话框中选择数据库“职员管理”,单击“确定”按钮将数据库“职员管理”添加到新建的项目“xm”中。 (2)在“数据”选项卡中,展开数据库“职员管理”,选择“职员管理”分支下的“本地视图”。 单击项目管理器右边的“新建”命令按钮,在弹出的“新建本地视图”对话框中,单击“视图向导”按钮,在“本地视图向导”对话框中,选择“职员管理”数据库下的“部门”数据表,并把“可用字段”下的全部字段添加到“选定字段”列表框中。 连续单击“下一步”进入“排序记录”的设计界面,将“可用
6、字段”列表框中的“部门部门编号”字段添加到右边的“选定字段”列表框中,并选择“升序”单选项。 连续单击“下一步”进入最后的“完成”设计界面,单击“完成”按钮保存视图为“view1”,退出视图设计向导。 (3)在项目管理器中,依次展开“数据库”“职员管理”“表”,选择“员工信息”表,单击“修改”按钮,打开表设计器。 在“员工信息”表设计器的“字段”选项卡下,选择“性别”字段,在“字段有效性”的“默认值”文本框中输入“男“”。 (4)在“员工信息”表设计器中的“字段”选项卡下,选择“工资”字段,在“字段有效性”的“规则”编辑框中输入“工资=800”,“信息”编辑框中输入“工资必须达到最低保障线80
7、0“”,单击“确定”按钮,关闭表设计器并保存表“员工信息”结构。)解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)将 order detail1 表中的全部记录追加到 order detail 表中,然后用 SQL SELECT 语句完成查询:列出所有订购单的“订单号”、“订购日期”、“器件号”、“器件名”和“总金额”(按“订单号”升序,“订单号”相同再按“总金额”降序),并将结果存储到 results 表中(其中“订单号”、“订购日期”、“总金额”取自 order_list 表,“器件号”、“器件名”取自 order_detail 表)
8、。 (2)打开modilprg 命令文件,该命令文件包含 3 条 SQL 语句,每条 SQL 语句中都有一个错误,请改正(注意;在出现错误的地方直接改正,不可以改变 SQL 语句的结构和 SQL 短语的顺序)。(分数:2.00)_正确答案:(正确答案: (1)步骤 1:在命令窗口执行命令: SELECT * FROM order_detail1 INTO ARRAY temp INSERT INTO order_detail FROM ARRAY temp 将 detaill 表中的记录全部复制到 detail 表中。 步骤 2:在命令窗口执行如下 SQL 命令语句完成查询: SELECT o
9、rder_list订单号,order_list订购 日 期, order_detail器 件 号, order_detail器件名,order_list总金额; FROM 订货管理!order_list INNER JOIN 订货管理!order_detail; ON order_list订单号=orderdetail订单号; ORDER BY order_list订单号, order_list总金额 DESC; 工 NT() TABLE resultsdbf (注意:以上 SQL 语句是根据查询文件生成的,大家也可以通过查询设计器完成本题操作。) (2)步骤 1:在命令窗口执行命令: MOD
10、IFY COMMANDmodil ,打开 modil 程序文件,文件中的命令代码如下: & 所有器件的单价增加 5 元 UPDATE order_detail1 SET 单价 WITH 单价+5 &计算每种器件的平均单价 SELECT 器件号,AVG(单价) AS 平均价 FROM order_detail1 ORDER BY 器件号 INTO CURSOR 1sb &查询平均价小于 500 的记录 SELECT*FROM 1sb FOR 平均价500 修改程序中的错误行,修改后的程序如下: UPDATE order_detail1 SET 单价=单价+5 &UPDATE 语句中赋值是通过“=
11、”号,而不是 WITH SELECT 器件号,AVG(单价)AS 平均价 FROM order_detaill GROUP BY 器件号 INTO CURSOR 1sb &GROUP BY 短语才是分组短语,而 ORDER BY 短语是用来对查询结果进行排序的 SELECT*FROM 1sb WHERE 平均价500 &SELECT的条件短语是 WHERE,而不是 FOR 步骤 2:保存文件修改。在命令窗口执行命令: DO modi1prg ,执行程序文件。)解析:解析:(1)本题考查了 SQL 的简单查询和联接查询。SQL 简单查询可直接套用基本的查询命令格式:进行联接查询时主要是判断查询输
12、出字段来自哪个数据表(本题都已指明),再正确设置联接条件。 (2)本题考查了 SQL 更新功能:分组计算查询和简单查询。 第一处错误属于 SQL 更新命令格式错误,通过 SOL给字段赋新值是通过“=”号设置的。 第二处错误是分组短语与排序短语混淆了,这也是改错题中经常设置锚误的地方。 第三处错误是查询语句的命令格式错误,SQL 查询中筛选条件通过 WHERE 短语指出。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.score_manger 数据库中含有三个数据库表 student、scorcl 和 course。为了对 score manager
13、数据库数据进行查询,设计一个如图 1-17 所示的表单 myform1(控件名为 form1,表单文件名 myform1scx)。表单的标题为“成绩查询”。 (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE FORM myform1 ,打开表单设计器新建表单。 步骤 2:从“表单控件”工具栏中依次向表单添加一个标签、一个文本框、两个命令按钮和一个表格控件。在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 2-20。 )解析:解析:表单文件的创建、控件的属性的修改、SOL 语句运用、表单的退出等知识点。 对本题操作时,首先根据题意新建表单、添加控件并修 改相关属性。本题的重点是“查询”按钮 Click 事件的编写,文本框中的内容用 value 属性表示;在表中查找输入的学号用 locate for 命令,如果找到,则记录指针指向该记录,如果没找到,则指向文件尾;事件代码中用 IF.ELSE.ENDIF 选择结构实现“找到学号”和“没找到学号”两种情况。