1、二级 VISUAL+FOXPRO机试-27 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.根据 score数据库,使用查询向导建立一个含有学生“姓名”和“出生日期”的标准查询query31.qpr。(2)从 score数据库中删除视图 newview。(3)用 SQL命令向 score1表插入一条记录:学号为“993503433”、课程号为“0001”、成绩为“99”。(4)打开表单 myform34,向其中添加一个“关闭”命令按钮(名称为 Command1),单击此按钮关闭表单(不可以有多余的命令)。(考生文件夹下载)(分数:30
2、.00)_二、二 简单应用题(总题数:1,分数:40.00)2.(2)使用查询设计器建立一个查询文件 qx. qpr。查询要求:外汇帐户中有多少“日元”和“欧元”。查询结果包括了“外币名称”、“钞汇标志”、“金额”,结果按“外币名称”升序排序,在“外币名称”相同的情况下按“金额”降序排序,并将查询结果存储于表 wb. dbf中。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.运行该程序。(分数:30.00)_二级 VISUAL+FOXPRO机试-27 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.根据 sc
3、ore数据库,使用查询向导建立一个含有学生“姓名”和“出生日期”的标准查询query31.qpr。(2)从 score数据库中删除视图 newview。(3)用 SQL命令向 score1表插入一条记录:学号为“993503433”、课程号为“0001”、成绩为“99”。(4)打开表单 myform34,向其中添加一个“关闭”命令按钮(名称为 Command1),单击此按钮关闭表单(不可以有多余的命令)。(考生文件夹下载)(分数:30.00)_正确答案:(选择“文件”“新建”菜单命令,在弹出的“新建”对话框中,选择“查询”,单击“向导”按钮,根据向导的提示,首先选择表 student 作为查询
4、的数据源,然后选择 student 表的姓名、出生日期字段为选定字段,连续单击下一步,直至“完成”界面,单击“完成”命令按钮,输入保存的查询名为 query31。(2)在命令窗口输入命令:MODIFY DATABASE score,打开数据库设计器,在数据库设计器中的“newview”视图上单击右键,在弹出的菜单中选择“删除”,并在弹出的对话框中选择“移去”。(3)在命令窗口输入如下命令,为 score1表增加一条记录。INSERT INTO score1(学号,课程号,成绩)VALUES(“993503433“,“0001“,99)(4)打开表单后,添加表单控件工具栏中的命令按钮到表单,在属
5、性面板中修改该命令按钮的 Caption属性值为“关闭”,双击该按钮,在 Click 事件中输入代码:Thisform. Release。)解析:解析 本大题考查的主要是数据库和数据库表的一些基本操作,为数据表建立索引、增加字段和设置有效性规则都是在数据表设计器中完成的,建立数据表之间的关联则是在数据库设计器中完成的。答案考生文件夹二、二 简单应用题(总题数:1,分数:40.00)2.(2)使用查询设计器建立一个查询文件 qx. qpr。查询要求:外汇帐户中有多少“日元”和“欧元”。查询结果包括了“外币名称”、“钞汇标志”、“金额”,结果按“外币名称”升序排序,在“外币名称”相同的情况下按“金
6、额”降序排序,并将查询结果存储于表 wb. dbf中。(分数:40.00)_正确答案:(在命令窗口中输入命令:MODIFY COMMAND 汇率情况,在程序文件编辑器窗口输入如下程序段:*文件“汇率情况”中的程序段*SELECT 外汇代码.外币代码,外汇代码_a.外币代码,外汇汇率.买入价,外汇汇率.卖出价;FROM 外汇!外汇代码 INNER JOIN 外汇!外汇汇率;INNER JOIN 外汇外汇代码 外汇代码_a;ON 外汇汇率.币种 2=外汇代码_a.外币名称;ON 外汇代码.外币名称=外汇汇率.币种 1;INTO CURSOR atemp& 写入数据表 rate 中GO TOPDO
7、WHILE NOT EOF ()SCATTER TO arrINSERT INTO rate FROM ARRAY arrSKIPENDDO*在命令窗口输入命令:DO 汇率情况,运行程序,通过 BROWSE命令可查看结果。(2)在命令窗口输入命令:CREATE QUERY qx,打开查询设计器,新建一个查询。在查询设计器中,分别将“外汇帐户”和“外汇代码”两个数据表文件添加到查询设计器中,系统自动查找两个数据表中匹配的字段进行内部联接,单击“确定”按钮。在查询设计器中的“字段”选项卡中,将“可用字段”列表框中的“外汇代码.外币名称”、“外汇帐户.钞汇标志”和“外汇帐户.金额”三个字段添加到右边
8、的“选定字段”列表框中,在“筛选”选项卡的“字段名”下拉框中选择“外汇代码.外币名称”,在“条件”下拉框中选择“=”,在实例文本框中输入“日元”,在“逻辑”下拉框中选择“OR”,在下一条件中,“字段名”下拉框中选择“外汇代码.外币名称”,在“条件”下拉框中选择“=”,在实例文本框中输入“欧元”。在“排序依据”选项卡的“选定字段”选择“外汇代码.外币名称”为“排序条件”并选择“升序”排序,选择“外汇帐户.金额”并选择为“降序”排序。执行菜单命令“查询”“查询去向”,系统弹出“查询去向”对话框,单击“表”按钮,在“表名”文件框中输入表名 wb,单击“确定”退出。执行菜单“查询”“运行查询”,查询结
9、果将自动保存到 wb数据表中。)解析:解析 本大题 1小题考查了 SQL联接查询,设计过程中主要注意两个表之间进行关联的字段,将一个表的记录向数据库表插入时,可通过数组进行插入;2 小题考查的是多表查询文件的建立以及查询去向。在设置查询去向的时候,应该注意表的选择。三、三 综合应用题(总题数:1,分数:30.00)3.运行该程序。(分数:30.00)_正确答案:(在命令窗口中输入命令:MODIFY COMMAND myp,在弹出的程序编辑窗口中输入如下程序段:*程序文件 myp. prg中的程序段*ALTER TABLE 客户 ADD 应付款 N(10,2)SELECT 客户编号,SUM(金额)AS 应付款 FROM 定货;GROUP BY 客户编号 INTO CURSOR atempDO WHILE NOT EOF ()UPDATE 客户 SET 应付款= atemp.应付款;WHERE 客户.客户编号=atemp.客户编号SKIPENDDO*在命令窗口输入命令:DO myp,执行程序,结果如图 3-89所示。*图 3-89)解析:解析 本大题主要考查的是 SQL语句的应用,字段的增加用到数据表的定义语句,在 SQL语句设计过程中可利用临时表来存放查询结果,再利用 DO循环语句对表中的记录逐条更新。