计算机等级考试二级VF上机题答案

计算机等级考试二级VF上机题答案
计算机等级考试二级VF上机题答案

计算机等级考试二级VF上机题答案

第一套

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)

注意:基本操作题为4道SQL题,请将每道题的SQL命令粘贴到SQL1.txt文件,

每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;

如果某道题没有做相应行为空。

在考生文件夹下完成下列操作:

1. 利用SQL SELECT命令将表stock_sl.dbf复制到stock_bk.dbf;

2.利用SQL INSERT命令插入记录("600028",4.36, 4.60, 5500)到stock_bk.dbf表。

3.利用SQL UPDATE命令将stock_bk.dbf表中"股票代码"为600007的股票"现价"改为8.88。4.利用SQL DELETE命令删除stock_bk.dbf表中"股票代码"为600000的股票。

本题的主要考核点:

SQL语句的使用。

1、SELE * FROM stock_sl INTO DBF stock_bk

2、INSE INTO stock_bk (股票代码,买入价,现价,持有数量)V ALU("600028", 4.36, 4.60, 5500)

3、UPDA stock_bk SET 现价=8.88 WHER 股票代码="600007"

4、DELE FROM stock_bk WHER 股票代码="600000"

三、综合应用(1小题,计30分)

在考生文件夹下有学生成绩数据库XUESHENG3,包括如下所示三个表文件以及相

关的索引文件:

1、XS.DBF(学生文件: 学号C8,姓名C8,性别C2,班级C5;另有索引文件

XS.IDX,索引键:学号)

2、CJ.DBF(成绩文件: 学号C8,课程名C20,成绩N5.1;另有索引文件

CJ.IDX,索引键:学号)

3、CJB.DBF(成绩表文件:学号C8,姓名C8,班级C5,课程名C12,成绩

N5.1)

设计一个名为XS3的菜单,菜单中有两个菜单项"计算"和"退出"。程序运行时,单击"计算"菜单项应完成下列操作:将所有选修了"计算机基础"的学生的"计算机基础"成绩,按成绩由高到低的顺序填列到成绩表文件CJB.DBF中(事前须将文件中原有数据清空)。单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

本题的主要考核点:

结构化查询语言(SQL)中的联接查询、查询的排序、查询的去向等知识

解题思路:

在本题中要想得到所有选修了"计算机基础"的学生的"计算机基础" 成绩及学生的姓名等信息,就需要用到联接查询。因为学生的姓名、班级在表XS.DBF中,而学生的成绩在表CJ.DBF 中。而这两个表要联接起来可以通过"学号"字段。

有以下两种联接查询的形式:SELECT XS.学号,姓名,班级,课程名,成绩FROM XS,CJ WHERE XS.学号=CJ.学号AND 课程名="计算机基础" 或者SELECT XS.学号,姓名,班级,课程名,成绩FROM XS LEFT JION CJ ON XS.学号=CJ.学号WHERE 课程名="计算机基础"

通过以上的联接查询便得到了所有选修"计算机基础"的学生的"计算机基础"的成绩及学生的姓名等信息。而题中所要求按成绩的降序排序,所以应该在以上SQL语句的基础上加入:ORDER BY 成绩DESC

将查询所得到的结果放于一个数组变量AFieldsValue中,要用到INTO ARRAY AFieldsValue.至此一个完整的SQL联接查询语句便形成了:SELECT XS.学号,姓名,班级,课程名,成绩FROM XS,CJ WHERE XS.学号=CJ.学号AND 课程名="计算机基础" ORDER BY 成绩DESC INTO ARRAY AFieldsValue

清空CJB.DBF

将tableName中的资料添加到已被清空的CJB.DBF中INSERT INTO CJB FROM ARRAY AFieldsValue

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹下建立数据库sc2,将考生文件夹下的自由表score2添加进sc2中。根据score2表建立一个视图score_view,视图中包含的字段与score2表相同,但视图中只能查询到积分小于等于1500的信息。然后利用新建立的视图查询视图中的全部信息,并将结果按积分升序存入表v2。

2、建立一个菜单filemenu,包括两个菜单项"文件"和"帮助","文件"将激活子菜单,该子菜单包括"打开"、"存为"和"关闭"三个菜单项;"关闭"子菜单项用SET SYSMENU TO DEFAULT命令返回到系统菜单,其他菜单项的功能不做要求。

第1题,本题的主要考核点是视图的建立。

在"项目管理器"中选择一个数据库,选择"本地视图",然后选择"新建"按钮,打开"视图设计器"。选择所有字段,在"筛选"栏内输入条件"积分<=1500",关闭并保存。在数据库设计器中打开视图,用sort on 积分to v2 命令存入新表。

第2题,本题的主要考核点是菜单的建立。新建菜单可按下列步骤:选择"文件"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文件"按钮。在"新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。也可用CREATE MENU命令直接调出菜单设计器。在菜单名称中填入"文件"、"帮助","文件"结果为子菜单,单击编辑;在子菜单的菜单名称中输入"打开"、"存为"、"关闭","关闭"结果为命令"SET SYSMENU TO DEFAULT"。

第二套

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)

在考生文件夹下完成下列操作(在"成绩管理"数据库中完成):

1. 为"学生"表在"学号"字段上建立升序主索引, 索引名为学号;

2. 为"学生"表的"性别"字段定义有效性规则, 规则表达式为性别$"男女"出错提示信息是: "性别必须是男或女"。

3. 在"学生"表的"性别"和"年龄"字段之间插入一个"出生日期"字段,数据类型

为"日期型"(修改表结构);

4.用SQL的UPDA TE命令将学生"王三风"的出生日期修改为1983年5月1日,并将该语句粘贴在SQL2.TXT文件中(第一行、只占一行)

本题的主要考核点:

主索引的建立、字段有效规则的建立,表结构的更改,SQL语言的使用。

解题思路:

1.在表设计器中的索引页面建立索引。

2、建立有效性规则在表设计器中的字段选项卡。在"规则"栏中输入"性别$"男女"","提示信息"栏输入"性别必须是男或女"(不要双引号)。

4.SQL语句的用法

UPDA 学生SET 出生日期={^1983/05/01} WHER 姓名="王三风"

三、综合应用(1小题,计30分)

在考生文件夹下有仓库数据库CK3,包括如下所示两个表文件:

CK(仓库号C(4),城市C(8),面积N(4))

ZG(仓库号C(4),职工号C(4),工资N(4))

设计一个名为ZG3的菜单,菜单中有两个菜单项"统计"和"退出"。程序运行时,单击"统计"菜单项应完成下列操作:检索出所有职工的工资都大于1220元的职工所管理的仓库信息,将结果保存在wh1数据表(WH1为自由表)文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排序。单击"退出"菜单项,程序终止运行。(注:相关数据表文件存在于考生文件夹下) 本题主要考核点:

菜单的建立、结构化查询语言(SQL)中的嵌套查询、查询结果的去向等知识。

解题思路:

利用菜单设计器定义两个菜单项,在菜单名称为"统计"的菜单项的结果列中选择"过程",并通过单击"编辑"按钮打开一个窗中来添加"统计"菜单项要执行的命令。在菜单名称为"退出"的菜单项的结果列中选择"命令",并在后面的"选项"列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT

"统计"菜单项要执行的程序:

首先中打开数据库文件OPEN DA TABASE CK3.DBC

下面我们分析所要用到的查询语句的实现,题面要求"检索出所有职工的工资都大于1220的职工所管理的仓库信息",所以得到满足以上条件的仓库号成为解答本题的关键。"所有职工的工资都大于1220的职工所管理的仓库"这个条件可以将其分解为同时满足以下两个条件的结果"仓库号不存在于职工的工资小于等于1220的职工所管理的仓库号中"并且"仓库号存在于表ZG中",而以上两个条件我们可以利用SQL轻松写出来。所以最后形成的查询语句以下:SELECT * FROM CK WHERE 仓库号NOT IN (SELECT 仓库号FROM ZG WHERE 工资<=1220) AND 仓库号IN (SELECT 仓库号FROM ZG) INTO TABLE wh1.dbf.后面的INTO TABLE wh1.dbf决定了查询的结果是生成一个wh1.dbf文件。

本题还考对查询的排序和查询的去向进行了考核.可以用ORDER BY order_Item [ASC|DESC]来让查询的结果按某一列或某几列的升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过INTO TABLE strTableName 而直接生成一个文件名为strTableName的.DBF表。

二、简单应用(2小题,每题20分,计40分)

1、根据考生文件夹下的txl表和jsh表建立一个查询query2,查询出单位是"南京大学" 的所有教师的姓名、职称、电话,要求查询去向是表,表名是query2.dbf,并执行该查询。

2、建立表单enterf,表单中有两个命令按钮,按钮的名称分别为cmdin和

cmdout,标题分别为"进入"和"退出"。

第1题,本题的主要考核点是建立查询。

建立查询可以使用“文件”菜单完成,选择文件--新建--查询--新建文件,将txl和jsh添加入查询中,从字段中选择姓名、职称和电话字段,单击查询菜单下的查询去向,选择表,输入表名query2.DBF。最后运行该查询。

第2题,本题的主要考核点是表单的建立。

可以用三种方法调用表单设计器:在项目管理器环境下调用;单击“文件”菜单中的“新建”,打开“新建”对话框,选择“表单”;在命令窗口输入CREATE FORM命令。

打开表单设计器后,在表单控件工具栏上单击“命令按钮”,在表单上放置两个按钮。分别修改其属性Name为cmdin和cmdout,Caption属性为“进入”和“退出”。

第三套

一、基本操作(共四小题,第1和2题是7分、第3和4题是8分

1、请在考生文件夹下建立一个数据库KS4。

2、将考生文件夹下的自由表STUD、COUR、SCOR加入到数据库KS4中。

3、为STUD表建立主索引,索引名和索引表达式均为学号

为COUR表建立主索引,索引名和索引表达式均为课程编号

为SCOR表建立两个普通索引,其中一个索引名和索引表达式均为学号;另一个索引名和索引表达式均为课程编号

4、在以上建立的各个索引的基础上为三个表建立联系。

本题的主要考核点:

数据库的建立、将自由表添加到数据库中、主索引和普通索引的建立,为已建立索引的表建立联系。

解题思路:

1.建立数据库的常用方法有三种:

在项目管理器中建立数据库;

通过"新建"对话框建立数据库;

使用命令交互建立数据库,命令为:CREATE DATABASE [DatabaseName|?]

2.将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。打开数据库设计器,在"数据库"菜单中或在数据库设计器上单击右键弹出的菜单中选择"添加表",然后在"打开"对话框中选择要添加到当前数据库的自由表。还可用ADD TABLE命令添加一个自由表到当前数据库中。

3.在STUD表设计器中的索引选项卡建立索引名和索引表达式为学号的主索引。分别为COUR和SCOR建立主索引和普通索引。

4.在数据库设计器中建立三个表的联系。在数据库设计器中,将选中STUD表中的主索引"学号",按住鼠标拖动到SCOR表的普通索引"学号"上。

用同样的方法可以建立COUR表和SCOR表的"课程编号"之间的联系。

三、综合应用(1小题,计30分)

在考生文件夹下有工资数据库W AGE3,包括数据表文件:ZG(仓库号C(4),

职工号C(4),工资N(4))

设计一个名为TJ3的菜单,菜单中有两个菜单项"统计"和"退出"。

程序运行时,单击"统计"菜单项应完成下列操作:检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到EMP1(EMP1为自由表)文件中,该数据表文件和ZG数据表文件具有相同的结构。单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

本题主要考核点:

菜单的建立、结构化查询语言(SQL)中的联接查询、查询的排序、临时表的概念、查询结果的去向等知识。

解题思路:

利用菜单设计器定义两个菜单项,在菜单名称为"统计"的菜单项的结果列中选择"过程",并通过单击"编辑"按钮打开一个窗中来添加"统计"菜单项要执行的命令。在菜单名称为"退出"的菜单项的结果列中选择"命令",并在后面的"选项"列中输入以下退出菜单的命令:SET SYSMENU TO DEFAULT

"统计"菜单项要执行的程序:

首先是打开数据库文件OPNE DA TABASE WAGE3.DBC我们应该得到每一个仓库的职工平均工资,并将结果放在一个临时的表CurTable中.利用以下语句可以实现:SELECT 仓库

相关主题
相关文档
最新文档