计算机等级国二VF上机题库1-84套上机原题与答案1_第1页
计算机等级国二VF上机题库1-84套上机原题与答案1_第2页
计算机等级国二VF上机题库1-84套上机原题与答案1_第3页
计算机等级国二VF上机题库1-84套上机原题与答案1_第4页
计算机等级国二VF上机题库1-84套上机原题与答案1_第5页
已阅读5页,还剩156页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

有更新的答案大家交流一下QQ10358874

第一套

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

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

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

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

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

1.利用SQLSELECT命令将表stock_sl.dbf复制到stockJjk.dbf;

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

3.利用SQLUPDATE命令将stock_bk.dbf表中"股票代码”为600007的股票"现价”改为8.88。

4.利用SQLDELETE命令删除stock_bk.dbf表中"股票代码”为600000的股票。

本题的主要考核点:

SQL语句的使用。

1,SELE*FROMstock_slINTODBFstockbk

2、INSEINTOstock_bk(股票代码,买入价,现价,持有数量)VALU("600028”,4.36,4.60,5500)

3、UPDAstock_bkSET现价=8.88WHER股票代码=”600007”

4、DELEFROMstock_bkWHER股票代码="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中。而这两个表要联接起来可以通过“学号"字段。

有以卜.两种联接查询的形式:SELECTXS.学号,姓名,班级,课程名,成绩FROMXS,CJWHEREXS.学号=CJ.学号AND课程名="计

算机基础”或者SELECTXS.学号,姓名,班级,课程名,成绩FROMXSLEFTJIONCJONXS.学号=CJ.学号WHERE课程名="

计算机基础”

通过以上的联接查询便得到了所有选修”计算机基础”的学生的”计算机基础”的成绩及学生的姓名等信息。而题中所要求按

成绩的降序排序,所以应该在以上SQL语句的基础上加入:ORDERBY成绩DESC

将查询所得到的结果放于一个数组变量AFieldsValue中,要用到INTOARRAYAFieldsValue.至此一个完整的SQL联接查询语

句便形成了:SELECTXS.学号,姓名,班级,课程名,成绩FROMXS,CJWHEREXS.学号=CJ.学号AND课程名=”计算机基础"ORDERBY

成绩DESCINTOARRAYAFieldsValue

清空CJB.DBF

I

将tableName中的资料添加到已被清空的CJB.DBF中INSERTINTOCJBFROMARRAYAFieldsValue

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

1、在考生文件夹下建立数据库sc2,将考生文件夹下的自由表score2添加进sc2中。根据score2表建立--个视图score_view,

视图中包含的字段与score2表相同,但视图中只能查询到积分小于等于1500的信息。然后利用新建立的视图查询视图中的全部

信息,并将结果按积分升序存入表v2。

2、建立一个菜单filemenu,包括两个菜单项"文件"和"帮助","文件"将激活子菜单,该子菜单包括"打开"、"存为"和"

关闭”三个菜单项;"关闭”子菜单项用SETSYSMENUTODEFAULT命令返回到系统菜单,其他菜单项的功能不做要求。

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

在〃项目管理器"中选择一个数据库,选择"本地视图",然后选择"新建"按钮,打开”视图设计能”。选择所有字段,在“筛选”栏

内输入条件"积分<=1500”,关闭并保存。在数据库设计器中打开视图,用sorton积分tov2命令存入新表。

第2题,本题的主要考核点是菜单的建立。新建菜单可按下列步骤:选择〃文件"菜单中的"新建〃命令,在"新建”对话框中选择〃

菜单",单击"新建文件"按钮。在"新建菜单”对话框中选择“菜单”按钮,调出”菜单设计器”。也可用CREATEMENU命令直接调出

菜单设计器。在菜单名称中填入"文件"、"帮助","文件"结果为子菜单,单击编辑:在子菜单的菜单名称中输入"打开〃、”存为

"、"关闭","关闭"结果为命令"SETSYSMENUTODEFAULT"。

第二套

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

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

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

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

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

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

4.用SQL的UPDATE命令将学生"王三风"的出生日期修改为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⑷,职工号C(4),工资N⑷)

设计一个名为ZG3的菜单,菜单中有两个菜单项"统计"和"退出"。程序运行时,单击"统计”菜单项应完成卜列操作:检索出

所有职工的工资都大于1220元的职工所管理的仓库信息,将结果保存在whl数据表(WH1为自由表)文件中,该文件的结构和CK

数据表文件的结构一致,并按面积升序排序。单击"退出”菜单项,程序终止运行。(注:相关数据表文件存在于考生文件夹卜)

本题主要考核点:

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

解题思路:

利用菜单设计器定义两个菜单项,在菜单名称为"统计”的菜单项的结果列中选择“过程",并通过单击”编辑.按钮打开一个窗中

来添加"统计”菜单项要执行的命令。在菜单名称为"退出”的菜单项的结果列中选择"命令",并在后面的"选项"列中输入以下退

出菜单的命令:SETSYSMENUTODEFAULT

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

首先中打开数据库文件OPENDATABASECK3.DBC

2

下面我们分析所要用到的查询语句的实现,题面要求”检索出所有职工的工资都大于1220的职工所管理的仓库信息〃,所以得到

满足以上条件的仓库号成为解答本题的关键。"所有职工的工资都大于1220的职工所管理的仓库”这个条件可以将其分解为同时

满足以下两个条件的结果”仓库号不存在于职工的工资小于等于1220的职工所管理的仓库号中“并且”仓库号存在于表ZG中“,而

以上两个条件我们可以利用SQL轻松写出来。所以最后形成的查询语句以下:SELECT*FROMCKWHERE仓库号NOTIN(SELECT

仓库号FROMZGWHERE工资〈=1220)AND仓库号IN(SELECT仓库号FROMZG)INTOTABLEwhl.dbf.后面的INTOTABLEwhl.dbf

决定了查询的结果是生成一个whl.dbf文件。

本题还考对查询的排序和查询的去向进行了考核.可以用ORDERBYorder」tem[AS。DESC]来让查询的结果按某•列或某儿列的

升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过INTOTABLEstrTableName而直接生成一个文件名为strTableName

的.DBF表。

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

1、根据考生文件夹下的txl表和jsh表建立•个查询query2,查询出单位是〃南京大学”的所有教师的姓名、职称、电话,要

求查询去向是表,表名是query2.dbf,并执行该查询。

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

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

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

建立查询可以使用“文件”菜单完成,选择文件一新建一查询一新建文件,将txl和jsh添加入查询中,从字段中选择姓名、职称

和电话字段,单击查询菜单下的查询去向,选择表,输入表名query2.DBF。最后运行该查询。

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

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

命令窗口输入CREATEFORM命令。

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

Caption属性为“进入”和“退出”。

第三套

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

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

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

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

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

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

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

本题的主要考核点:

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

解题思路:

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

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

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

使用命令交互建立数据库,命令为:CREATEDATABASE[DatabaseNamef?]

2.将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。打开数据库设计器,在"数据库”菜单中或在数据库设

计器上单击右键弹出的菜单中选择"添加表",然后在"打开”对话框中选择要添加到当前数据库的自由表。还可用ADDTABLE命令

添加一个自由表到当前数据库中。

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

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

索引"学号"上。

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

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

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

3

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

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

程序运行时,单击"统计”菜单项应完成下列操作:检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工

信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到EMP1(EMP1为自由表)文件中,该数据表文件和ZG数据表

文件具有相同的结构。单击"退出〃菜单项,程序终止运行。

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

本题主要考核点:

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

解题思路:

利用菜单设计器定义两个菜单项,在菜单名称为"统计”的菜单项的结果列中选择"过程”,并通过单击"编辑"按钮打开一个窗中

来添加“统计”菜单项要执行的命令。在菜单名称为"退出”的菜单项的结果列中选择"命令〃,并在后面的"选项”列中输入以下退

出菜单的命令:SETSYSMENUTODEFAULT

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

首先是打开数据库文件OPNEDATABASEWAGE3.DBC我们应该得到每一•个仓库的职工平均工资,并将结果放在一个临时的表

CurTable中.利用以下语句可以实现:SELECT仓库号,AVG(工资)ASAvgGZFROMZGGROUPBY仓库号INTOCURSORCurTable.

这样就生成了一个表名为CurTable的临时表。表中有两个字段:仓库号,AvgGZ,内容为每一个仓库的仓库号和所对应的职工的

平均工资。

有了临时表CurTable后我们可以将其与ZG进行联接查询,我们这里联接查询的目的不是为了得到临时表中的内容做为结果的一

部分,而是要用其中的字段AvgGZ做为查询的条件.我们便可以得到”工资小于或低于本仓库职工平均工资的职工信息〃的查

询:SELECTZG.*FROMZG,CurTableWHEREZG.仓库号=CurTable.仓库号ANDZG.工资〈CurTable.AvgGZ.利用ORDERBY子句来实

现查询结果的排序:ORDERBY仓库号,职工号;利用INTOTABLE子句可以实现查询结果的去向:INTOTABLEEMP1.完整的查询

语句如下:SELECTZG.*FROMZG,CurTableWHEREZG.仓库号=CurTable.仓库号ANDZG.工资〈CurTable.AvgGZORDERBY仓库

号,职工号INTOTABLEEMP1.

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

1、在考生文件夹中有一•个数据库STSC,其中有数据库表STUDENT、SCORE和

COURSE

利用SQL语句查询选修了"网络工程"课程的学生的全部信息,并将结果按学号降序存放在NETP.DBF文件中(库的结构同

STUDENT,并在其后加入课程号和课程名字段)。

2、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT,使用一对多报表向导制作一个名为CJ2的报表,存放在考

生文件夹中要求:选择父表STUDENT表中学号和姓名字段,从子表SCORE中选择课程号和成绩,排序字段选择学号(升序),报表

式样为简报式,方向为纵向。报表标题为"学生成绩表”。

第1题,本题的主要考核点是SQL语句的查询。

SELECTStudent.*,Score.课程号,Course.课程名;

FROMstsc!studentINNERJOINstsc!score;

INNERJOINstsc!course;

ONScore.课程号=Course.课程号;

ONStudent.学号=Score.学号;

WHEREAT("网络工程”,Course.课程名)>0;

ORDERBYStudent.学号desc;

INTOTABLEnetp.dbf

第2题,本题的主要考核点是使用报表向导制作报表。

启动报表向导可在"文件"菜单中选择"新建”或者单击工具栏上的“新建"按钮,打开"新建"对话框,文件类型选择报表,单击向

导按钮。或者在"工具”菜单中选择"向导”子菜单,选择

"报表",或直接单击工具栏上的“报表向导"图标按钮。然后按照向导提示操作即可。

第四套

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

4

1、请在考生文件夹下建立•个项目WY。

2、将考生文件夹下的数据库KS4加入到新建的项目WY中去。

3、利用视图设计器在数据库中建立视图NEW_VIEW,视图包括GJHY表的全部字段(顺序同GJHY中的字段)和全部记录。

4、从表HJQK中查询"奖级”为一等的学生的全部信息(HJQK表的全部字段),并按分数的降序存入存入新表NEN1中。

本题的主要考核点:

项目的建立、将数据库添加到项目中、视图的建立、查询并存入新表。

解题思路:

1.建立项目WY

创建项目可用“文件”菜单中的“新建”命令。

2.将数据库加入到项目中:

在项目管理器的“数据”选项卡选择数据库,单击“添加”,在“打开”对话框中选择要添加的数据库

3.在新建对话框中、项目管理器中、或用CREATVIEW命令打开视图设计器,建立一个视图。将GJHY表添加到视图中,并将全部

字段添加入视图。不做任何筛选,则视图包括全部记录。最后将视图命名为NEW_VIEW。

4.用SQL语句

select*fromhjqk.dbfwhere奖级="一等";

intotablenewlorderby分数desc

可完成此查询。

也可建立一个查询完成。在菜单中选择文件一新建一查询一新建文件,在筛选栏中选择字段名为“hjqk.奖级”,条件为“=",实

例栏内输入“一等”,排序选择“分数”降序,并将查询去向设为表NEWL注意NEW1要保存到考生文件夹下。最后运行此查询即可。

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

1、在考生文件夹下,有一个数据库CADB,其中有数据库表ZXKC和ZX。

表结构如下:

ZXKC(产品编号,品名,需求量,进货日期)

ZX(品名,规格,单价,数量)

在表单向导中选取一对多表单向导创建一个表单。要求:从父表zxkc中选取字段产品编号和品名,从子表zx中选取字段规

格和单价,表单样式选取"阴影式",按钮类型使用"文本按钮”,按产品编号升序排序,表单标题为“照相机",最后将表单

存放在考生文件夹中,表单文件名是fortn2。

2、在考生文件夹中有数据库CADB,其中有数据库表ZXKC和ZX。建立单价大于等于800,按规格升序排序的本地视图CAMELIST,

该视图按顺序包含字段产品编号、品名、规格和单价,然后使用新建立的视图杳询视图中的全部信息,并将结果存入

第1题,本题的主要考核点是使用表单向导制作表单。

启动表单向导可在“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮,打开“新建”对话框,文件类型选择表单,单击向导

按钮。或者在“工具”菜单中选择“向导”子菜单,选择“表单”,或直接单击工具栏上的'‘表单向导”图标按钮。在“向导选取”对话框

中选择“一■对多表单向导”。然后按照表单向导操作即可。

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

在“项目管理器”中选择一个数据库,选择“本地视图”,然后选择“新建”按钮,打开“视图设计器”。将zxkc和zx添加到视图中,选

择字段产品编号、品名、规格和单价,在“筛选”栏内输入条件"单价>=800",关闭并保存。在数据库设计器中打开视图,用copy

tov_camera命令或在“文件”菜单中选择“导出",将结果存入新表丫/加6好。

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

在考生文件夹下有仓库数据库CHAXUN3包括一:个表文件:

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

DGD(职工号C(4),供应商号C(4),订购单号C(4),订购日期D,总金额N(10))GYS(供应商号C(4),供应商名C(16),

地址C(10))

设计个名为CX3的菜单,菜单中有两个菜单项"查询"和"退出"。

程序运行时,单击"查询”应完成下列操作:检索出工资多于1230元的职工向北京的供应商发出的订购单信息,并将结果按

总金额降序排列存放在。rdl文件(和DGD文件具有相同的结构,ordl为自由表)中。单击"退出”菜单项,程序终止运行。

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

本题主要考核点:

5

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

解题思路:

利用菜单设计器定义两个菜单项,在菜单名称为〃查询”的菜单项的结果列中选择“过程”,并通过单击"编辑"按钮打开•个窗口来

添加"查询”菜单项要执行的命令。在菜单名称为"退出”的菜单项的结果列中选择"命令",并在后面的”选项〃列的中输入以下退

出菜单的命令:SETSYSMENUTODEFAULT

"查询”菜单项要执行的程序:

首先打开数据库OpendatabaseCHAXUN3.dbc

我们可以通过下面的查询得到工资多于1230的所有职工的职工号SELECT职工号FROMZGWHERE工资>1230

可以通过下面的查询得到地址在北京的所有供货商的供货商号SELECT供货商号FROMGYSWHERE地址=〃北京”

而题面所要求的正是同时满足以上两个条件的订购单信息,也就是职工号满足第一个条件上,可用职工号IN(SELECT职工号

FROMZGWHERE工资>1230)来实现:供货商号满足第二个条件,可用供货商号IN(SELECT供货商号FROMGYSWHERE地址="

北京")来实现。因此可得到满足条件的订购单的SQL查询为:SELECT*FROMDGDWHERE职工号IN(SELECT职工号FROMZG

WHERE工资>1230)AND供货商号IN(SELECT供货商号EROMGYSWHERE地址="北京>ORDERBY总金额DESCINTOTABLEordl

本题还考对查询的排序和查询的去向进行了考核.可以用ORDERBYordejltem[ASC|DESC]来让查询的结果按某一列或某

儿列的升序(ASC)或降序(DESC)进行排列。而查询的去向可以通过INTOTABLEstrTableName而直接生成•个文件名为

strTableName的.DBF表。

第五套

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

1、打开数据库PROD_M及数据库设计器,其中的两个表的必要的索引已经建立,为这两个表建立永久性联系

2、设置CATEGORY表中"种类名称”字段的默认值为:"饮料"。

3、为PRODUCTS表增加字段:优惠价格N(8,2)。

4、如果所有商品的优惠价格是在进货价格基础上减少12%,计算所有商品的优惠价格。

本题的主要考核点:

为己建立索引的表建立联系、设置字段的默认值、字段的添加、字段的替换。

解题思路:

L建立两个表的联系。在父表中选中主索引,按住鼠标拖动至子表相应的普通索引匕释放鼠标,联系即已建立。

2.在表设计器中,选中“种类名称"字段,在"字段有效性”中的默认值中填入"饮料•",单击确定。

3.增加字段的方法:

打开PRODUCTS表表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型及长度。

4.可以使用BROWSE浏览表,然后在菜单"表"中选择"替换字段",字段为"优惠价格","替换为"的表达式为"Products.进货价格

*0.88”,作用范围ALL。

也可用命令

REPLACEALL优惠价格WITH进货价格*0.88

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

1、在考生文件夹中有一个数据库GCS,其中GONGCH表结构如下:

GONGCH(编号C(4),姓名C(10),姓别C(2),工资N(7,2),年龄N(2),职称C(10))现在要对GONGCH表进行修改,指定编

号为主索引,索引名和索引表达式均为编号;指定职称为普通索引,索引名和索引表达式均为职称;年龄字段的有效性规则在

25至65之间(含25和65),默认值是45。

2、在考生文件夹中有数据库GCS,其中有数据库表GONGCH。在考生文件夹下设计一个表单,该表单为GCS库中GONGCH表窗口

式输入界面,表单上还有一个名为cmdCLOSE的按钮,标题名为“关闭”,点击该按钮,使用ThisForm.release退出表单。最后

将表单存放在考生文件夹中。,表单文件名是JF0RM。

提示:在设计表单时,打开GCS数据库设计器,将GONGCH表拖入到表单中就实现了GONGCH表的窗口式输入界面,不需要其

他设置或修改。

第1题,本题的主要考核点是建立索引和有效性规则。

建立索引在表设计器中的索引选项卡,建立有效性规则在表设计器中的字段选项卡。在"规则"栏中输入"年龄>=25AND年龄

〈=65”,〃默认值”栏输入"45”(不要双引号)。

第2题,本题的主要考核点是表单的设计。

6

可以用二种方法调用表单设计器:在项目管理器环境下调用;单击〃文件"菜单中的"新建〃,打开"新建”对话框,选择"表单”;

在命令窗口输入CREATEFORM命令。

打开表单设计器,在表单控件工具栏上单击"命令按钮”,在表单上放置•个按钮。修改其属性Name为cmdclose,Caption属性为

"关闭"。双击按钮,在打开的程序窗口输入代码"ThisForm.release"。设计窗口式输入界面如提示,最后将表单保存。

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

在考生文件夹下有仓库数据库GZ3包括两个表文件:

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

DGD(职工号C(4),供应商号C(4),订购单号C(4),订购日期D,总金额N(10))

首先在GZ3库中建立工资文件数据表:GJ3(职工号C(4),工资N(4))设计一个名为YEWU3的菜单,菜单中有两个菜单项"查询”

和"退出"。

程序运行时,单击"查询”应完成下列操作:检索出与供应商S7、S4和S6都有业务联系的职工的职工号和工资,并按工资降

序存放到所建立的GJ3文件中。单击"退出”菜单项,程序终止运行。

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

本题主要考核点:

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

聚合函数COUNT()等的使用等知识。

解题思路:

第一步:利用菜单设计器定义两个菜单项,在菜单名称为"查询”的菜单项的结果列中选择“过程",并通过单击"编辑"按钮打开

•个窗口来添加"查询”菜单项要执行的命令。在菜单名称为“退出”的菜单项的结果列中选择"命令",并在后面的〃选项〃列中输

入以下退出菜单的命令:SETSYSMENUTODEFAULT

第二步1在单击"计算”菜单项后面的"编辑”按钮所打开的窗口中添加如下的过程代码:

SETTALKOFF&&在程序运行时关闭命令结果的显示

OPENDATABASEGZ3&&打开数据库文件GZ3

USEDGD&&打开表DGD

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

SELECT职工号FROMDGDWHERE供应商号IN("S4","S6","S7");

GROUPBY职工号;

HAVINGCOUNT(DISTINCT供应商号)=3;

INTOCURSORCurTable

&&SELECTSQL语句中的GROUPBY子句可以用来指定结果集的组,

&&要得到"供应商号"是"S4"、"S6"或"S7"的订购单,同时以订购单所在的职工员进行分组

&&并且保证每个分组里面供应商号有三个(也就是三个供应商都应有订购单);这样就得到了满

&&足条件的职工号,将返回的结果集放于,个临时表CurTable中:INTOCURSORCurTable

SELECTZG.职工号,工资FROMZG,CurTableWHEREZG.职工号=CurTable.职工号;

ORDERBY工资DESC;

INTOARRAYAFieldsValue

&&将生成的临时表与DGD表进行联接杳询,便可以得到满足条件的职工号和工资

&&返回的结果集放入数组AFieldsValue中:INTOARRAYAFieldsValue

INSERTINTOGJSFROMARRAYAFieldsValue

&&在新建的表中追加记录

CLOSEALL

&&关闭打开的文件

SETTALKON

&&恢复命令结果的显示设置

第三步:以文件名YEWU3.MNX保存菜单源文件,并生成菜单,运行菜单。

第六套

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

7

1、在考生文件夹下建立数据库KS7;并将自由表SCOR加入数据库中。

2、按下面给出的表结构。给数据库添加表STUD

字段字段名类型宽度小数

1学号字符型2

2姓名字符型8

3年龄数值型20

4性别字符型2

5院系号字符型2

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

为表SCOR建立普通索引,索引名为学号,索引表达式为学号

4、STUD表和SCOR表必要的索引已建立,为两表建立永久性的联系。

本题的主要考核点:

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

解题思路:

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

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

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

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

将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。在数据库设计器中可以从“数据库”菜单或在数据库设计

器上单击右键弹出的菜单中选择“添加表”,然后在“打开”对话框中选择要添加到当前数据库的白由表。还可用ADDTABLE命令添

加一个自由表到当前数据库中。

2.打开数据库设计器,在“数据库”菜单中或在数据库设计器上单击右键弹出的菜单中选择“新建表”,新建表并输入字段。

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

4.建立两个表的联系:在父表中选中主索引,按住鼠标拖动至子表相应的普通索引上,释放鼠标,联系即已建立。

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

1、在考生文件夹中有一个学生数据库STU,其中有数据库表STUDENT存放学生信

息,使用菜单设计器制作一个名为STMENU的菜单,菜单包括”数据操

作"和"文件"两个菜单栏。

每个菜单栏都包括一个子菜单。菜单结构如F:

数据操作

数据输出

文件

保存

退出

其中:

数据输出子菜单对应的过程完成下列操作:打开数据库STU,使用SQL的SELECT语句查询数据库表STUDENT中所有信息,

然后关闭数据库。退出菜单项对应的命令为SETSYSMENUTODEFAULT,使之可以返回到系统菜单。保存菜单项不做要求。

2、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2、SC和

C0URSE2.三个表如卜.所示:

STUDENT2(学号,姓名,年龄,性别,院系编号)

SC(学号,课程号,成绩,备注)

C0URSE2(课程号,课程名,先修课号,学分)

用SQL语句查询”计算机软件基础”课程的考试成绩在85分以卜.(含85分)的学生的全部信息并将结果按学号升序存入

NOEX.DBF文件中。(库的结构同STUDENT2,并在其后加入成绩字段)

第1题,本题的主要考核点是菜单的制作和数据库基本命令。

新建菜单可按下列步骤:选择"文件"菜单中的"新建"命令,在〃新建"对话框中选择“菜单",单击"新建文件"按钮。在"新建菜单

”对话框中选择“菜单”按钮,调出”菜单设计器”。也可用CREATEMENU命令直接调出菜单设计器。在菜单名称中填入"数据操作”,

8

结果为子菜单,单击编辑;在子菜单的菜单名称中输入"数据输出〃,结果为过程。在过程中输入下列命令:

OPENDATASTU

SELECT*FROMSTUDENT

CLOSEALL

”文件”菜单同上,其中"退出”菜单对应结果为命令,命令为SETSYSMENUTODEFAULT

第2题,本题的主要考核点是SQL语句的查询。查询如下。

SELECTStudent2.*,Sc.成绩;

FROMsdb!student2INNERJOINsdblsc;

INNERJOINsdb!course2;

ONSc.课程号=Course2.课程号;

ONStudent2.学号=Sc.学号;

WHERECourse2.课程名IN(”计算机软件基础");

ANDSc.成绩<=85;

ORDERBYStudent2.学号;

INTOTABLEnoex.dbf

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

现有医院数据库D0CT3,包括三个发文件:YISHENG.DBF(医生)、

YAO.DBF(药品)、CHUFANG.DBF(处方)。设计一个名为CHUFANG3的菜单,菜单中有两个菜单项"查询"和"退出"。程序运行时,

单击"查询”应完成下列操作:查询同处方中,包含"感冒"两个字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,

把查询结果按处方号升序排序存入JG9数据表中。JG9的结构为:(姓名,年龄,处方号,药名,生产厂)。最后统计这些医生的人

数(注意不是人次数),并在JG9中追加•条记录,将人数填入该记录的处方号字段中。

单击〃退出"菜单项,程序终止运行。

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

本题主要的考核点:

菜单的建立、结构化杳询语言(SQL)中的联接杳询、杳询的去向等知识点

解题思路:

利用菜单设计器定义两个菜单项,在菜单名称为〃森询”的菜单项的结果列中选择“过程",并通过单击"编辑"按钮打开一个窗口

来添加"查询”菜单项要执行的命令。在菜单名称为"退出”的菜单项的结果列中选择"命令",并在后面的"选项”列中输入以下退

出菜单的命令:SETSYSMENUTODEFAULT

"查询”菜单项要执行的程序:

首先打开数据库文件OPENDATABASED0CT3.DBC

我们分析最后的结果是要从三个有相互联系的表中得到信息,这自然要用到联接查询。可以通过表chufan和ya。之间的联接我们

得到,某一个处方所用到的药品的名字,进而我们可以得到处方中用到包含有"感冒"两个字的处方的处方号。我们也可以通过

表chufang和yisheng之间的联接来得到,某一个处方是那一个医生开出的。这样我便可以得到满足条件的查询。如下所示:SELECT

处方号,药名,生产厂,姓名,年龄FROMyishegn,yao,chufangWHERECHUFANG.药编号=YAO.药编号ANDCHUFANG.职工号=YISHENG.

职工号AND药名IN("感冒").另外还要求要按照处方号的升序进行排序,这里要用到ORDERBY处方号DESC子句,另外还要求

将结果存入JG9中,要用到INTOTABLEJG9.

通过以下的方式来得到生成的JG9中所包含的医生的人数,先生成一个临时表CurTable:SELECT*FROMJG9GROUPBY姓名INTO

CURSORCurTable;然后我们得到临时表有多少条记录并写入变量j中,COUNTTOj

最后我们利用INSERT将变量j的内容做为一条新的记录插入到JG9中:INSETINTOJG9(处方名)VALUES(j).

第七套

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

1、在考生文件夹下建立数据库CUST_M。

2、把考生文件夹卜.的自由表CUST和0RDER1加入到刚建立的数据库中。

3、为CUST表建立主索引,索引名为primarykey,索引表达式为客户编号。

4、为0RDER1表建立侯选索引,索引名为candi_key,索引表达式为订单编号。

9

为0RDER1表建立普通索引,索引名为regularkey,索引表达式为客户编号。

本题的主要考核点:

数据库的建立、将自由表添加到数据库中、主索引,候选索引和普通索引的建立

解题思路:

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

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

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

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

2.将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。在数据库设计器中可以从“数据库〃菜单或在数据库设

计器上单击右键弹出的菜单中选择"添加表",然后在"打开"对话框中选择要添加到当前数据库的自由表。还可用ADDTABLE命令

添加个自由表到当前数据库中。

3.在表设计器中的索引页,输入索引名为primarykey,索引表达式为客户编号,索引类型为主索引。

4.在表设计器中的索引页建立索引名为candi_key,索引表达式为订单编号的候选索引,及索引名为regularkey,索引表达式为

客户编号的普通索引。

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

1、根据orderl表建立一个视图ordejview,视图中包含的字段及顺序与orderl表相同,但视图中只能查询到金额小于1000

的信息。然后利用新建立的视图查询视图中的全部信息,并将结果按订单编号升序存入表vl。

2、建立一个菜单my_menu,包括两个菜单项"文件"和"帮助",〃文件"将激活子菜单,该子菜单包括"打开"、"存为"和〃关闭

〃三个菜单项,"关闭”子菜单项用SETSYSMENUTODEFAULT命令返回到系统菜单,其他菜单项的功能不做要求。

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

在"项目管理器”中选择一个数据库,选择“本地视图”,然后选择"新建"按钮,打开”视图设计器”。选择所有字段,在“筛选”栏

内输入条件〃金额<1000”,关闭并保存。在数据库设计器中打开视图,用sorton订单编号tovl命令存入新表。

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

新优菜单可按卜列步骤:选择"文件"菜单中的"新建"命令,在"新建”对话框中选择"菜单",单击"新建文件"按钮。在"新建菜单

”对话框中选择“菜单"按钮,调出”菜单设计器:也可用CREATEMENU命令直接调出菜单设计器。在菜单名称中填入"文件"

帮助","文件"结果为子菜单,单击编辑;在子菜单的菜单名称中输入"打开"、"存为"、"关闭",.关闭"结果为命令"SETSYSMENU

TODEFAULT".

第07题

三、综合应用

在考生文件夹下有学生管理数据库BOOKS,数据库中有score表(含有学号、物理、高数、英语和学分5个字段,具体类型请杳询

表结构),其中前4项已有数据。

请编写符合下列要求的程序并运行程序:

设计个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为CMDYES和CMDNO,标题分别为"计算"和"关闭"。程

序运行时,单击"计算"按钮应完成下列操作:

(1)计算每一个学生的总学分并存入对应的学分字段。学分的计算方法是:物理60分以上(包括60分)2学分,否则0分;高

数60分以上(包括60分)3学分,否则0分;英语60分以上(包括60分)4学分,否则0分。

(2)根据上面的计算结果,生成一个新的表xf,(要求表结构的字段类型与score表对应字段的类型一致),并且按学分升

序排序,如果学分相等,则按学号降序排序。

单击"关闭"按钮,程序终止运行。

计算按钮的代码如下:

OPENDATABOOKS

USESCOREEXCLUSIVE

DOWHILENOTEOF()

学分=0

IF物理>=60

10

REPL学分WITH学分+2

ENDIF

IF高数>=60

REPL学分WITH学分+3

ENDIF

IF英语>=60

REPL学分WITH学分+4

ENDIF

SKIP

ENDDO

第八套

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

1、在考生文件夹下建立项目SALES_M。

2、在新建立的项目中建立数据库CUST_M。

3、把自由表CUST和0RDER1加入到新建立的数据库中。

4、为确保0RDER1表元组唯一,请为0RDER1表建立候选索弓索引名为订单编号,索引表达式为订单编号。

本题的主要考核点:

项目的建立、将数据库添加到项目中、将自由表添加到数据库中、候选索引的建立。

解题思路:

1.建立项目

创建项目可用“文件”菜单中的“新建”命令。

2.将数据库加入到项目中:

在项目管理器的“数据”选项卡选择数据库,单击“添加”,在“打开”对话框中选择要添加的数据库

3.将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。在数据库设计器中可以从“数据库”菜单或在数据库设

计器上单击右键弹出的菜单中选择“添加表”,然后在“打开”对话框中选择要添加到当前数据库的自由表。还可用ADDTABLE命令

添加一个自由表到当前数据库中。

4.在0RDER1表设计器中的索引页面,建立索引名索引表达式都为订单编号的候选索引。

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

1、根据。rderl表和cust表建立一个杳询queryl,查询出公司所在地是"北京”的所有公司的名称、订单日期、送货方式,要

求查询去向是表,表名是queryl.dbf,并执行该查询。

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

cmdNo,标题分别为"登录"和"退出"。

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

建立查询的可以使用”文件〃菜单完成,选择文件一新建一查询一新建文件,将。rderl和cust添加入查询中,从字段中选择名称、

订单日期、送货方式,在"筛选"栏中选择字段名为"所在地''条件为"=''实例中输入“北京”,单击杳询菜单下的杳询去向,选择表,

输入表名queryl.DBF。最后运行该查询。

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

可以用三种方法调用表单设计器:在项目管理器环境下调用:单击"文件"菜单中的"新建",打开"新建”对话框,选择"表单";

在命令窗口输入CREATEFORM命令。

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

Caption属性为"登录"和"退出"。

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

在考生文件夹下有股票管理数据库stock,数据库中有表stock_sl、stock_fk表。stock_sl的表结构是股票代码C(6)、买入

价N(7.2)、现价N(7.2)、持有数量N(6)。stockfk的表结构是股票代码C(6),浮亏金额N(11.2)。

请编写并运行符合下列要求的程序:

设计一个名为menu」in的菜单,菜单中有两个菜单项"计算"和"退出"

程序运行时,单击"计算”菜单项应完成卜.列操作:

11

(1)将现价比买入价低的股票信息存入Stock_fk表,其中:

浮亏金额=(买入价-现价)*持有数量

(注意要先把表的Stock_fk内容清空)。

(2)根据stock_fk表计算总浮亏金额,存入一个新表stock_z中,其字段名为浮亏金额,类型为N(11.2),该表最终只有一

条记录(该表属于库STOCK)。

单击"退出”菜单项,程序终止运行。

本题主要考核点:

菜单的建立、结构化查询语言(SQL)应用SELECT、APPEND、CREATETABLE等知识点

本题解题思路:

利用菜单设计器定义两个菜单项,在菜单名称为"计算”的菜单项的结果列中选择“过程",并通过单击"编辑"按钮打开一个窗口

来添加“计算”菜单项要执行的命令。在菜单名称为"退出”的菜单项的结果列中选择"命令〃,并在后面的"选项”列中输入以下退

出菜单的命令:SETSYSMENUTODEFAULT

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

首先是打开数据库文件OPENDATABASEstock,dbc

将〃现价比买入价低的股票信息”放入数组AFields中:SELECT股票代码,(买入价-现价)*持有数量AS浮亏金额FROMSTOCK_SL

WHERE买入价〉现价INTOARRAYAFields

设置删除状态:SETDELETEON

删除表stock_fk表中的所有记录:DELETEFROMSTOCK_FK

将数组AFields中的值:INSERTINTOSTOCK_FKFROMARRAYAfields

得到表STOCK_FK中的总浮亏金额并存入变量AFields中:SELECTSUM(浮亏金额)FROMSTOCK_FKINTOARRAYAFields

建立表stock_z:CREATETABLESTOCK_Z(浮亏金额N(ll,2))

将AFields的值插入到表stock_z中:INSERTINTOSTOCK_ZFROMARRAYAFields

第九套

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

1、在考生文件夹下打开数据库CUST_M,为CUST表建立主索弓I,索引名为客户编号,索引表达式为客户编号。

2、CUST表和ORDER1表中必要的索引已经建立,为两表建立永久性联系。

3、为CUST表增为字段:客户等级C(2),字段值允许为空。

4、为ORDER1表"金额"字段增加有效性规则:金额大于零,否则提示:金额必须大于零。

本题的主要考核点:

主索引的建立、为已建立索引的表建立联系、字段的添加、字段有效性规则的建立。

解题思路:

1.在表设计器中的索引页面,建立索引名索引表达式都为客户编号的主索引。

2.建立两个表的联系。在父表中选中主索引,按住鼠标拖动至子表相应的普通索引上,释放鼠标,联系即已建立。

3.增加字段的方法:

打开CUST表的表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型及长度。字段值允许为空,则选中"NULL"

项。

4.建立有效性规则比较简单直接的方法是在表设计器中建立。在表设计器中首先选中要定义有效性规则的字段"金融",在"规则

”一栏中输入“金额〉0”(或用表达式生成器生成),在“信息”栏中输入:"金额必须大于零”。

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

1、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2,SC和C0URSE2。三个表如下所示:

STUDENT2(学号,姓名,年龄,性别,院系编号)

SC(学号,课程号,成绩,备注)

C0URSE2(课程号,课程名,先修课号,学分)

在考生文件夹下有一个程序dbtest3.prg,该程序的功能是定义一个视图VS1,检索选课门数是3门以上的每个学生的学

号、姓名、平均成绩、最低分、选课门数和院系编号,并按平均成绩降序排序。请修改程序中的错误,并调试该程序,使之正

12

确运行。不得增加或删减程序行。

2、在考生文件夹下有一个数据库CUST_M,数据库中有CUST和0RDER1两个表。请使用菜单设计器制作一个名为MY_MENU的菜

单,菜单只有"浏览”一'个菜单项。

浏览菜单项中有"客户"、"订单"和"退出"三个子菜单:

客户子菜单使用SELECT*FROMCUST命令对CUST表查询;

订单子菜单使用SELECT*FROMORDER1命令对ORDER1表查询;

退出子菜单使用SETSYSMENUTODEFAULT命令返回系统菜单。

第1题,本题是一个程序修改题。第一个错误是在“USEDATABASESDB”行,打开数据库的命令错误,应该是“OPENDATABASESDB”。

第二个错误是在“FROMSTUDENT2,C0URSE2”,按题目所给程序下-行“WHERESTUDENT2.学号=SC.学号”,可知此处应在STUDENT2

和SC表中选择,应把COURSE2改为SC。第三个错误在“ORDERBY成绩”行中,因要求按平均成绩降序排序,所以应改为“ORDERBY

平均成绩DESC".

第2题,本题的主要考核点是建立菜单。新建菜单可按下列步骤:选择“文件”菜单中的“新建”命令,在“新建”对话框中选择“菜单”,

单击“新建文件”按钮。在“新建菜单”对话框中选择“菜单”按钮,调出“菜单设计器”。也可用CREATEMENU命令直接调出菜单设计

器。在菜单名称中填入“浏览”,结果为子菜单,单击编辑;在子菜单的菜单名称中分别输入“客户”、"订单"和"退出”,结果都为

命令。分别在对应的命令栏内输入相应的命令,保存为MY_MENU。

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

在考生文件夹下有学生管理数据库stu_3,数据库中有score_fs表,其表结构是

学号C(10)、物理I、高数I、英语I和平均分N(6.2)«成绩如果用T表示,说明

学生没有选学该门课程。其中,该表前四项已有数据。

请编写并运行符合下列要求的程序:

设计个名为formjny的表单,表单中有两个命令按钮,按钮的名称分别为

cmdYes和CmdNo,标题分别为"统计"和"关闭"。

程序运行时,单击"统计"按钮应完成下列操作:

(1)计算每一个学生的平均分存入平均分字段。注意:分数为-1不记入平均分,例如一个学生的三门成绩存储的是90,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论