VF题库14Word格式文档下载.docx
《VF题库14Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VF题库14Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
2小题中主要是考查菜单设计器的"
结果"
下拉框中各项的使用功能,例如要建立下级菜单,在"
下拉框中就必须选择"
子菜单"
,而要执行某条菜单命令,就应该选择"
命令"
或"
过程"
。
(1)在命令窗口输入命令:
MODIFYDATABASEsc2,新建一个数据库文件,在数据库设计器中将考生文件夹下的自由表score2添加到数据库中,如图1-1所示。
图1-1
利用菜单命令或常用工具栏中的图标按钮,打开"
新建"
对话框,新建一个视图文件,将数据表score2添加到视图设计器中。
视图设计器中有6个选项卡,根据题意,在"
字段"
选项卡中,单击"
全部添加"
命令按钮,将"
可用字段"
列表框中的3个字段全部添加到右边的"
选定字段"
列表框中,接着在"
筛选"
选项卡中的"
字段名"
下拉框中选择"
score2.积分"
字段,在"
条件"
<
,在"
实例"
文本框中输入"
1500"
,然后在"
排序依据"
选项卡中,将"
列表框中的"
字段添加到右边的"
列表框中,在"
排序选项"
中选择"
升序"
单选项,将视图文件以score_view名保存在考生文件夹下,如图1-2所示。
图1-2
因为视图设计器中没有"
查询去向"
的问题,因此要将查询结果保存在数据表中,必须利用查询设计器来完成。
在"
对话框中选择"
查询"
单选项,打开查询设计器,将视图score_view添加到查询设计器中,如图1-3所示。
图1-3
在查询设计器的"
列表框中的字段全部添加到"
中,然后执行菜单命令"
-"
,系统弹出"
对话框,在对话框中单击"
表"
图标按钮,在"
表名"
文本框中输入保存查询结果的表名"
v2"
,单击"
确定"
按钮关闭对话框。
执行菜单命令"
运行查询"
,查询结果将自动保存到数据表v2中。
(2)在命令窗口输入命令:
CREATEMENUfilemenu,系统弹出一个"
菜单"
图形按钮,进入菜单设计器环境。
根据题目要求,首先输入两个主菜单名称"
下拉框中全部选择"
单击"
名行中的"
创建"
按钮进入下级菜单的设计界面,此设计窗口与主窗口大致相同,然后编写每个子菜单项的名称"
,如图1-4所示。
根据题意,系统不再要求设计下级菜单,因此在3个子菜单的"
最后在"
退出"
菜单项的"
文本框中编写程序代码:
SETSYSMENUTODEFAULT。
要回到上级菜单,只要从窗口的"
菜单级"
菜单栏"
即可。
选择菜单命令"
-"
生成"
,生成一个菜单文件"
filemenu.mpr"
,如图1-5所示。
图1-4 图1-5
三、综合应用题(1小题,计30分)
在考生文件夹下有学生成绩数据库xuesheng3,包括如下所示3个表文件以及相关的索引文件:
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查询语句及插入语句来完成设计过程。
在命令窗口输入命令:
CREATEMENUxs3,系统弹出一个"
新建菜单"
,接着在"
菜单行的"
选项(用于编写程序),在"
选项(可参考二大题2小题的设计过程)。
菜单行中的"
编辑"
按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段:
**********"
菜单命令的程序设计**********
SETTALKOFF
OPENDATABASExuesheng3
SELECTcj.学号,xs.班级,xs.姓名,cj.课程名,c.成绩;
FROMxuesheng3!
xsINNERJOINxuesheng3!
cj;
ONxs.学号=cj.学号;
WHEREcj.课程名='
计算机基础'
;
ORDERBYcj.成绩DESC;
INTOARRAYAFieldsValue
DELETEFROMcjb
INSERTINTOcjbFROMARRAYAFieldsValue
CLOSEALL
USEcjb
PACK
USE
SETTALKON
**********************************************
xs3.mpr"
关闭设计窗口,在命令窗口输入命令:
DOxs3.mpr,看到VisualFoxPro的菜单栏被新建的菜单所代替,单击"
菜单命令将恢复系统菜单。
第2套
在考生文件夹下完成下列操作(在"
成绩管理"
数据库中完成):
(1)为"
学生"
表在"
学号"
字段上建立升序主索引,索引名为学号。
(2)为"
表的"
性别"
字段定义有效性规则,规则表达式为"
性别$的"
男女"
,出错提示信息是"
性别必须是男或女"
(3)在"
年龄"
字段之间插入一个"
出生日期"
字段,数据类型为"
日期型"
(修改表结构)。
(4)用SQL的UPDATE命令将学生"
李勇"
的出生日期修改为1984年3月5日,并将该语句粘贴在sql_a2.TXT文件中(第一行、只占一行)。
一、基本操作题
【解析】本大题所考查的都是数据表结构的一些基本操作,包括字段索引的建立、字段的有效性规则建立以及字段的新增,可在"
选项卡中完成,主索引的建立需要在"
索引"
选项卡中进行设置。
USE学生
MODIFYSTRUCTURE
打开表设计器,在"
选项卡的"
索引名"
中输入"
,选择索引类型为"
主索引"
,索引表达式为"
(2)在"
表设计器的字段选项卡中,首先选中"
字段,然后在规则文本框中输入:
性别$"
;
在信息文本框中输入"
,如图2-1所示。
图2-1
表设计器的"
选项卡中,选中"
字段,然后单击右边的"
插入"
命令按钮,新增一个字段,将字段名改为"
,将"
类型"
改为日期型。
(4)请查看sql_a2.txt文件中的命令,其中的SQL语句为UPDATE学生STE出生日期={1983/03/04}WHERE姓名="
(1)根据考生文件夹下的txl表和jsh表建立一个查询query2,查询出单位是"
南京大学"
的所有教师的姓名、职称、电话,要求查询去向是表,表名是query2.dbf,并执行该查询。
(2)建立表单enterf,表单中有两个命令按钮,按钮的名称分别为cmdin和cmdout,标题分别为"
进入"
【解析】本大题1小题考查的是多表查询文件的建立以及查询去向。
在设置查询去向的时候,应该注意表的选择;
2小题考查的主要是表单中一些基本控件的建立以及属性的设置,属性设置可直接在属性面板中修改。
(1)可以直接在命令窗口输入命令:
CREATEQUERYquery2,打开查询设计器,新建一个查询。
在查询设计器中,分别将txl和jsh两个数据表文件添加到查询设计器中,系统自动查找两个数据表中匹配的字段进行内部联接,单击"
按钮,如图2-2所示。
图2-2
在查询设计器中的"
列表框中的jsh.姓名、jsh.职称和txl.电话3个字段添加到右边的"
txl.单位"
="
对话框,单击"
图标按钮,在"
文本框中输入表名query2,单击"
退出,如图2-3所示。
图2-3
执行菜单"
,查询结果将自动保存到query2数据表中。
CREATEFORMenterf,打开表单设计器。
单击表单控件工具栏上的"
命令按钮"
控件图标,为表单添加两个命令按钮command1和command2,如图2-4所示。
图2-4
在属性对话框中将命令按钮command1的Name属性值修改为cmdin,将Caption属性值修改为"
,以同样的方法,将第二个命令按钮(command2)的Name属性值修改为cmdout,将Caption属性值修改为"
,如图2-5所示。
图2-5
在考生文件夹下有仓库数据库ck3,包括如下所示两个表文件:
ck(仓库号C(4),城市C(8),面积N(4))
zg(仓库号C(4),职工号C(4),工资N(4))
设计一个名为ZG3的菜单,菜单中有两个菜单项"
统计"
程序运行时,单击"
检索出所有职工的工资都大于1220元(不包括1220元)的职工所管理的仓库信息,将结果保存在wh1数据表(wh1为自由表)文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排序。
(注:
【解析】本大题考查的主要是利用SQL的嵌套查询来完成两个数据表之间的记录查找,此处应注意运算符IN和NOTIN的使用;
在菜单的设计过程中主要是注意两个菜单命令在"
下拉框中应选择的类型。
CREATEMENUzg3,系统弹出一个"
选项,如图2-6所示。
图2-6
*********"
菜单命令的程序设计*********
SETSAFETYOFF
OPENDATABASEck3.dbc
USEck
SELECT*FROMckWHERE仓库号NOTIN;
(SELECT仓库号FROMzgWHERE工资<
=1220);
AND仓库号IN(SELECT仓库号FROMzg);
ORDERBY面积;
INTOTABLEwh1.dbf
SETSAFETYON
zg3.mpr"
DOzg3.mpr,看到VisualFoxPro的菜单栏被新建的菜单所代替,单击"
执行"
菜单命令后,系统自动生成新数据表文件wh1.dbf用来保存查询结果。
第3套
(1)请在考生文件夹下建立一个数据库ks4。
(2)将考生文件夹下的自由表stud、cour、scor加入到数据库ks4中。
(3)为stud表建立主索引,索引名和索引表达式均为学号;
为cour表建立主索引,索引名和索引表达式均为课程编号;
为scor表建立两个普通索引,其中一个索引名和索引表达式均为学号,另一个索引名和索引表达式均为课程编号。
(4)在以上建立的各个索引的基础上为3个表建立联系。
【解析】本大题主要考查的是数据库和数据表之间的联系,以及字段索引的建立。
新建数据库可以通过菜单命令、工具栏按钮或直接输入命令来建立,添加或修改数据库表以及建立表之间的联系,可以通过数据库设计器来完成,建立表索引可以在数据表设计器中完成。
MODIFYDATABASEks4,新建一个数据库。
(2)右键单击数据库设计器,选择"
添加表"
快捷菜单命令,系统弹出"
对话框,将考生文件夹下的stud、cour和scor三个自由表分别添加到数据库ks4中。
(3)在数据库设计器中,右键单击数据库表stud.dbf,选择"
修改"
快捷菜单命令,进入stud.dbf的数据表设计器界面,在"
选项卡中为"
字段选择一个索引排序,然后单击"
选项卡,此处字段索引名默认的为"
下拉框中选择索引类型为"
根据题意,以同样的方法为数据表cour和scor建立相应的索引。
(4)在数据库设计器中,将stud表中"
下面的"
主索引字段拖到scor表中"
索引字段上,建立stud和scor两表之间的联系,以同样的方法建立cour和scor两表间的联系,关联字段为"
课程编号"
,这样就建立了3个表之间的联系。
(1)在考生文件夹下有一个数据库stsc,其中有数据库表student、score和course,利用SQL语句查询选修了"
网络工程"
课程的学生的全部信息,并将结果按学号降序存放在netp.dbf文件中(表的结构同student,并在其后加入课程号和课程名字段)。
(2)在考生文件夹下有一个数据库stsc,其中有数据库表student,使用一对多报表向导制作一个名为cjb的报表,存放在考生文件夹下。
要求:
从父表student中选择学号和姓名字段,从子表score中选择课程号和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。
报表标题为"
学生成绩表"
【解析】本大题1小题考查的是利用SQL语句进行多表查询以及查询输出,程序设计中应注意数据表之间的关联以及查询结果的分组排序;
2小题主要考查报表向导的使用,只要根据每个向导界面的提示来完成相应的步骤即可。
MODIFYCOMMANDquery,打开程序文件编辑器;
在程序文件编辑窗口中输入如下程序段
**********程序文件query.prg程序内容**********
SELECTstudent.*,score.课程号,course.课程名;
FROMstsc!
studentINNERJOINstsc!
score;
INNERJOINstsc!
course;
ONscore.课程号=course.课程号;
ONstudent.学号=score.学号;
WHEREAT("
course.课程名)>
0;
ORDERBYstudent.学号DESC;
INTOTABLEnetp.dbf
保存程序文件,在命令窗口输入命令:
DOquery,完成查询。
(2)请按以下步骤完成:
利用菜单命令"
,或从常用工具栏中单击新建图标按钮,在弹出的"
报表"
单选项,再单击"
向导"
图标按钮,系统弹出"
向导选取"
对话框,在列表框中选择"
一对多报表向导"
按钮。
选择"
后,系统首先要求选择一对多报表中作为父表的数据表文件。
根据题意,选择student表作为父表,如图3-1所示,从"
列表框中将"
姓名"
列表框中,用作父表的可用字段。
图3-1
下一步"
设计子表的可用字段,操作方法与父表选取字段的方法一样,将score表中的"
课程号"
成绩"
字段添加到"
列表框中。
建立表关联"
的设计界面,在此处系统已经默认设置好进行关联的字段:
父表的"
和子表的"
字段。
选择排序方式"
的设计界面,将"
可用字段或索引标识"
列表框中,并选择"
单选项。
选择报表样式"
的界面,在"
样式"
列表框中选择"
简报式"
方向"
选项组中选择"
纵向"
,进入最后的"
完成"
设计界面,在"
标题"
为报表添加标题,单击"
命令按钮,在系统弹出的"
另存为"
对话框中,将报表以cjb文件名保存在考生文件夹下,退出报表设计向导。
在考生文件夹下有工资数据库wage3,包括数据表文件:
zg(仓库号C(4),职工号C(4),工资N(4))。
设计一个名为tj的菜单,菜单中有两个菜单项"
检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到emp1(emp1为自由表)文件中,该数据表文件和zg数据表文件具有相同的结构。
【解析】本大题考查的主要是利用SQL语句的进行分组计算查询,在本题应了解SQL中用于求平均值的函数AVG的使用;
CREATEMENUtj,系统弹出一个"
选项。
按钮,进入程序设计的编辑窗口,在程序编辑窗口中输入如下程序段:
OPENDATABASEwage3
SELECT仓库号,AVG(工资)ASavggz;
FROMzg;
GROUPBY仓库号;
INTOCURSORcurtable
SELECTzg.仓库号,zg.职工号,zg.工资;
FROMzg,curtable;
WHEREzg.工资<
=curtable.avggz;
ANDzg.仓库号=curtable.仓库号;
ORDERBYzg.仓库号,职工号;
INTOTABLEemp1
tj.mpr"
DOtj.mpr,看到VisualFoxPro的菜单栏被新建的菜单所代替,单击"
菜单命令后,系统自动生成新数据表文件emp1.dbf用来保存查询结果。
第4