1、国家二级 VF机试(操作题)模拟试卷 113及答案与解析 一、基本操作题 1 注意:基本操作题为 4道 SQL题,请将每道题的 SQL命令粘贴到 mysql txt文件,每条命令占一行,第 1道题的命令是第 l行,第 2道题的命令是第 2行,以此类推;如果某道题没有做,相应行为空。 (1)利用 SQL SELECT命令将 “数量 ”表复制到 “股票数量 bk dbf”。 (2)利用 SQL INSERT命令插入记录 (“600038“, 5 69, 5 82, 4800)到 “股票数量 bk”表。 (3)利用 SQL UPDATE命令将 “股票数量 bk”表中 “股票代码 ”为 “600016
2、”的股票“现价 ”改为 “16 83”。 (4)利用 SQL DELETE命令删除 “股票数量 bk”表中 “股票代码 ”为 “600009”的记录。 二、简单应用题 2 在考生文件夹下,打开商品销售数据库 cdb,完成如下简单应用: (1)使用一对多报表向导建立名称为 p order的报表。要求从父表顾客表 cust中选择所有字段,从子表订单表 order中选择所有字段;两表之间采用 “顾客号 ”字段连接;按 “顾客号 ”字段升序排序;报表样式为 “经营式 ”,方向 为 “纵向 ”;报表标题为“顾客订单表 ”。然后修改该报表,在页注脚中增加一个标签 “制表人:新思路 ”;该标签水平居中,标签
3、中的 “: ”为中文的冒号。 (2)修改一个名称为 TWO PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计 (应付款 ),结果存储在临时表 1s中。然后用 Is中的每个顾客的数据去修改表 scust对应的记录。该命令文件有 3行语句有错误,打开该命令文件进行修改。 注意:直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。 三、综合应用题 3 对考生文件夹下的数据库 “图书借阅 ”中的表完成如下操作: 为表 loans增加一个字段 “姓名 ”,字段类型为 “宁符型 ”,宽度为 8。 编写程序 modipro prg实现以下
4、功能: 根据 borrOWS表的内容填写表 loans中 “姓名 ”的字段值。 查询表 loans中 2008年 2月 3日的借书记录,并将查询结果输入表 rqtable中。 运行该程序。 国家二级 VF机试(操作题)模拟试卷 113答案与解析 一、基本操作题 1 【正确答案】 (1) (4)题 所用的语句内容如下。 在命令窗口执行命令: MODIFY FILE MYSQL,打开文本编辑器编写SQL命令。 在编辑器中输入如下程序代码: 1 SELECT*FROM数量 INTO TABLE股票数量 bk 2 INSERT INTO 股票数量 bk VALUES (“600038“, 5 6 9,
5、 5 82, 4800) 3 UPDATE股票数量 bk SET现价 =16 83 WHERE 股票代码 =“600016“ 4 DELETE FROM股票数量 bk WHERE股票代码 =“600009“ 在命令窗口执行命令: DO MYSQL TXT,执行文件 (注意:执行文件时,文件后缀名 txt不能缺省 )。 【试题解析】 本题考查了 SQL查询语句和 SQL操作功能。 本题的关键是有关 SQl操作功能的命令编写,包括插入语句 (工 NSERT)、删除语句 (DELETE)和更新语句 (UPDATE),只要熟记各操作语句的命令格式,直接套用即可完成操作。 二、简单应 用题 2 【正确答
6、案】 (1)步骤 1:在命令窗口执行命令: OPEN DATABASE cdb,打开 cdb数据库。 步骤 2:执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在弹出的 “新建 ”对话框中选中 “报表 ”选项,然后单击 “向导 ”图标按钮,系统弹出 “向导选取 ”对话框,选中 “一对多报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 步骤 3:在报表向导的 “步骤 1-从父表选择字段 ”界面的 “数据库和表 ”下选中 cust表,将 “可用字段 ”中的字段全部添加到 “选定字段 ”中, 单击 “下一步 ”按钮。 步骤 4:在报表向导的 “步骤 2-从子表选择字段
7、 ”界面的 “数据库和表 ”下选中 order表,将 “可用字段 ”中的字段全部添加到 “选定字段 ”中,单击 “下一步 ”按钮。 步骤 5:在报表向导的 “步骤 3-为表建立关系 ”界面中系统自动建立两个表的联系,单击 “下一步 ”按钮。 步骤 6:在报表向导的 “步骤 4排序记录 ”界面中双击 “可用的字段或索引标识 ”中的 “顾客号 ”字段到 “选定字段 ”列表中,再选择 “升序 ”,单击 “下一步 ”按钮。 步骤 7:在报表向导的 “步骤 5-选择报表样式 ”界面的 “样式 ”下选中 “经营式 ”,方向为 “纵向 ”,单击 “下一步 ”按钮。 步骤 8:在报表向导的 “步骤 6-完成
8、”界面中的 “报表标题 ”下方文本框中输入 “顾客订单表 ”,单击 “完成 ”桉钮。 步骤 9:在 “另存为 ”对话框的 “保存报表为: ”框中输入表单文件名 p_order,单击“保存 ”按钮。 步骤 10:在命令窗口输入命令: MODIFY REPORT p_order,打开报表设计器修改报表。向报表设计器最底端的 “页注脚 ”带区添加一个标签控件,并输入 “制表人:新思路 ”,然后选中标签,在 “布局 ”工具栏中单击 “水平居 中 ”命令按钮 (工具栏中的倒数第 4个按钮 ),设置标签为水平居中。 (2)步骤 1:在命令窗口执行命令: MODIFY COMMAND two,打开程序文件,
9、文件中的命令代码如下: 1 CLOSE DBF 2 PRIVATE no, money 3 USE scust 4 *下面的一行语句有错误 5 SELECT顾客号,数量 *单价应付款; 6 FROM order JOIN comm ON order商品号 =comm商品号; 7 GROUP BY顾客号; 8 INTO cURSOR ls 9 SELECT scust 10 *下面的一行语句有错误 11 DO WHILE EOF() 12 no=顾客号 13 SELECT ls 14 LOCAT FOR顾客号 =no 15 monev=应付款 16 SELECT scust 17 *下面的一行语
10、句有错误 18 REPLACE ALL应付款 =monev 19 sKIP+1 20 ENDDO 21 CLOSE TABLE 22 RETURN 修改程序中的错误行,修改后的程序如下: 1 CLOSE DBF 2 PRIVATE no, money 3 UE scust 4 *下面的一行语句有错误 5 SELECT顾客号, sum(数量 *单价 )应付款; 6 FROM order JOIN comm ON order商品号 =comm商品号; 7 GROuP BY顾客号; 8 INTO CURSOR ls 9 SELECT scust 10 *下面的一行语句有错误 11 DO WHILE!
11、EOF() 12 no=顾客号 13 SELECT ls 14 LOCAT FOR顾客号 =no 15 monev=应付款 16 SELECZ、 scust 17 *下面的一行语 句有错误 18 REPLACE应付款 with monev 19 SKIP+1 20 ENDDO 21 CLOSE TABLE 22 RETURN 步骤 2:保存文件修改,在命令窗口执行命令: DO two,执行程序文件。 【试题解析】 (1)本题考查报表向导以及报表设计器的使用,在报表设计器中添加文字,可以通过 “报表控件 ”工具栏中的 “标签 ”控件进行添加。 (2)本题考查了 DO WHLE循环语句; SQL简
12、单的计算查询; visual FoxPro修改表记录语句,程序的功能大致如下: 首先定义两个私有变量,然后通过 SQL语句计算每个顾客购买商品的金额合计,将结果保存到一个临时表中;接着通过一个 DO循环语句逐条判断 scust表中的记录,修改 scust表中顾客号与临时表 ls表中顾客号对应相等的 “应付款 ”字段值。 根据对程序语句的分析,可以得知: 第一处错误是 SQL计算语句错误,要求应付款应该是合计值,输出字段中还缺少 sum()函数进行合计。 第二处错误是 DO循环条件错误,循环条件应该是没有到记录末尾,因此应使用 !eof()。 第三处错误是修改记录的命令错误,应该使用 repla
13、cewith 命令。 三、综合应用题 3 【正确答案】 步骤 1:命令窗口执行如下两条命令打开 loans表结构。 USE loans &打开 loans表 MODIFY STRUCTURE &打开表设计器 步骤 2:在表设计 “字段 ”选项卡的 “字段名 ”列的最后一个空白文本框中输入字段名 “姓名 ”, “类型 ”中选择 “字符型 ”, “宽度 ”文本框中输入 “8”,保存表结构修改。 步骤 3:命令窗口执行: MODIFY COMMAND MODIPROG,打开程序文件编辑器,输入如下程序代码 (以下 SQL奁询语句是通过查询设计器生成 ): 1 SELECT借书证号,姓名 FROM B
14、ORROWS INTO CURSOR TEMP 2 DO WHILE NOT EOF() 3 UPDATE LOANs SET LOANs姓名 =TEMP姓名; 4 WHERE LOANS借书证号 =TEMP借书证号 5 SKIP 6 ENDDO 7 SELECT*FROM LOANs WHERE借书日期 =2008-02-03); 8 INTO TABLE RQTABLE 步骤 5:执行命令: DO MODIPROG PRG,执行程序。 【试题解析】 本大题考查了表结构的修改; DO WHILE循环语句; SQL更新语句; SQL简单查询。 表结构的修改可以在表设计器中或直接通过 SQL语句修改表。本题基本思路如下: 首先通过简单查询检索 BORROWS表中的 “借书证号 ”和 “姓名 ”内容,将结果保存到临时表中,然后通过 DO WHLE循环对临时表中的每条记录开始处理,利用SQL-UPDATE更新语句修改 LOANS表中的 “姓名 ”字段值,字段值等于临时表的“姓名 ”字段值,更新条件为 LOANs表的 “借书证号 ”等于临时表的 “借书证号 ”;每处理完一条记录,记录指针便指向下一条记录,处理完临时表中所有记录后,退出 DO WHILE循环;最后再通过 SQL简单查询检索 LOANs表中借书日期等于“2008-02-03”的记录。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1