VFP春上机试题.docx

上传人:b****8 文档编号:9871773 上传时间:2023-05-21 格式:DOCX 页数:27 大小:204.51KB
下载 相关 举报
VFP春上机试题.docx_第1页
第1页 / 共27页
VFP春上机试题.docx_第2页
第2页 / 共27页
VFP春上机试题.docx_第3页
第3页 / 共27页
VFP春上机试题.docx_第4页
第4页 / 共27页
VFP春上机试题.docx_第5页
第5页 / 共27页
VFP春上机试题.docx_第6页
第6页 / 共27页
VFP春上机试题.docx_第7页
第7页 / 共27页
VFP春上机试题.docx_第8页
第8页 / 共27页
VFP春上机试题.docx_第9页
第9页 / 共27页
VFP春上机试题.docx_第10页
第10页 / 共27页
VFP春上机试题.docx_第11页
第11页 / 共27页
VFP春上机试题.docx_第12页
第12页 / 共27页
VFP春上机试题.docx_第13页
第13页 / 共27页
VFP春上机试题.docx_第14页
第14页 / 共27页
VFP春上机试题.docx_第15页
第15页 / 共27页
VFP春上机试题.docx_第16页
第16页 / 共27页
VFP春上机试题.docx_第17页
第17页 / 共27页
VFP春上机试题.docx_第18页
第18页 / 共27页
VFP春上机试题.docx_第19页
第19页 / 共27页
VFP春上机试题.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VFP春上机试题.docx

《VFP春上机试题.docx》由会员分享,可在线阅读,更多相关《VFP春上机试题.docx(27页珍藏版)》请在冰点文库上搜索。

VFP春上机试题.docx

VFP春上机试题

上机部分

一、项目、数据库和表操作(12分)

练习1

打开T盘根目录下的项目文件JXGL,在该项目文件中已有一数据库JXSJ。

1.按如下要求在数据库JXSJ中新建一个表名为AB的数据库表。

(1)按下表所示创建AB表的表结构(包括字段的标题属性):

字段名

标题

类型

长度

小数位数

KHBH

客户编号

C

10

KHMC

客户名称

C

20

YZBM

邮政编码

C

6

(2)设置YZBM的输入掩码:

只能输入数字,即不能出现字母或其他非数字字符;

(3)设置YZBM字段的有效性规则:

不允许包含空格字符;

(4)为表创建主索引abcd,要求客户编号不能重复录入。

2.为教材(JC)表设置更新触发器;出版社名称(CBSMC)字段的值必须是以“出版社”三个字结尾。

3.为学生(XS)表增加一个年龄字段(字段名为NL,类型为整型),并为籍贯(JG字段)为“江苏”的学生计算年龄:

年龄等于当前系统日期的年份减去出生日期(CSRQ字段)的年份。

4.已知院系专业(YXZY)表和教师(JS)表存在相同的院系专业代码(YXZYDM)字段,以YXZY表为主表,JS表为子表,按YXZYDM建立永久关系,并设置YXZY表和JS表之间的参照完整性;删除限制。

练习2

打开T:

盘根目录下的项目文件JXGL,在该项目文件中已有一数据库JXSJ。

1.按如下要求在数据库JXSJ中新建一个表名为AB的数据库表。

(1)按下表所示创建AB表的表结构(包括字段的标题属性):

字段名

标题

类型

长度

小数位数

CPBH

产品编号

C

10

CPMC

产品名称

C

20

RKRQ

入库日期

D

JBR

经办人

C

20

(2)为RKRQ字段设置默认值:

RKRQ为当前系统日期;

(3)为JBR字段设置有效性规则:

不能为空(即必须含有非空格字符);

(4)创建一个普通索引abcd,要求按RKRQ字段排序,相同时按CPBH字段排序。

2.为教材(JC)表设置更新触发器;课程代码为“60010”时必须选用“上海外语教育出版社”出版的教材。

3.为JS表增加一个备注字段(字段名为BZ,类型为备注型),并为它赋值;如果性别为“女”,并且年龄大于或等于55,则BZ字段的值为“退休”(注:

年龄为当前系统日期的年份减去出生日期(CSRQ字段)的年份)。

4.已知课程(KC)表和教材(JC)表存在相同的课程代码(KCDM)字段,以KC表为主表,JC表为子表,按KCDM建立永久关系,并设置KC表和JC表之间的参照完整性;插入限制。

练习3

打开T盘根目录下的项目文件jxgl,在该项目文件中已有一数据库jxsj。

1.按如下要求在数据库jxsj中新建一个表名为ab的数据库表。

(1)按下表所示创建ab表的表结构(包括字段的标题属性):

字段名

标题

类型

长度

小数位数

wlbh

物料编号

C

10

wlmc

名称

C

20

ckrq

出库日期

D

cksl

数量

N

6

0

(2)为ckrq字段设置默认值:

ckrq为当前系统日期;

(3)为cksl字段设置有效性规则:

不能为负数;

(4)创建一个普通索引abcd,要求按wlbh字段排序,相同时按ckrq字段排序。

2.为教材(jc)表设置更新触发器;课程代码(kcdm字段)为“4039”时,必须选用2002年以后出版(cbnf字段)的教材。

3.将jc表中单价(dj字段)大于或等于25元的记录全部加注删除标志。

4.已知院系(yxzy)表和教材(js)表存在相同的院系专业代码(yxzydm)字段,以yxzy表为主表,js表为子表,按因yxzydm建立永久关系,并设置yxzy表和js表之间的参照完整性;插入限制。

练习4

打开T盘根目录下的项目文件jxgl,在该项目文件中已有一数据库jxsj。

1.按如下要求在数据库jxsj中新建一个表名为ab的数据库表。

(1)按下表所示创建ab表的表结构(包括字段的标题属性):

字段名

标题

类型

长度

小数位数

xh

学号

C

10

xm

姓名

C

20

bwbz

班委

L

zw

职务

C

20

(2)为bwbz字段设置默认值:

.F.;

(3)为表设置有效性规则:

当bwbz字段的值为.T.时,zw字段的值不能为空;

(4)创建一个普通索引abcd,要求按将班委(bwbz字段值为.T.)排在前面,非班委(bwbz字段值为.F.)排在后面。

2.为学生(xs)表设置更新触发器;班级编号(bjbh字段)必须与入学日期(rxrq字段)的年份保持一致。

3.将kc表增加一个备注字段(字段名为bz,类型为备注型),并为院系专业代码(yxzydm字段)为空的记录赋值,bz字段的值为“各专业的课时数相同”。

4.已知教师(js)表和课程安排(kcap)表存在相同的工号(gh)字段,以js表为主表,kcap表为子表,按gh建立永久关系,并设置js表和kcap表之间的参照完整性;插入限制。

练习5

打开T盘根目录下的项目文件jxgl,在该项目文件中已有一数据库jxsj。

1.按如下要求在数据库jxsj中新建一个表名为ab的数据库表。

(1)按下表所示创建ab表的表结构(包括字段的标题属性):

字段名

标题

类型

长度

小数位数

xh

学号

C

10

xm

姓名

C

20

csrq

出生日期

D

sg

职务

N

6

2

(2)为xh字段设置输入掩码,使之只能输入数字,不能出现字母或其他非数字字符;

(3)为sg字段设置有效性规则:

不小于100,且不大于250;

(4)为表创建一个普通索引abcd,要求按csrq字段排序,相同时按sg字段排序。

2.为课程(kc)表设置插入触发器;如果课程类型(lx字段)为“通修课程”,则院系专业代码(yxzydm字段)为空,否则不为空。

3.位xs表增加一个备注字段(字段名为bz,类型为备注型),并为它赋值:

若学生的籍贯(jg字段)不为“江苏”,则将bz字段的值置为“外省学生”。

4.已知课程(kc)表和教材(jc)表存在相同的课程代码(kcdm)字段,以kc表为主表,jc表为子表,按kcdm建立永久关系,并设置kc表和jc表之间的参照完整性;更新级联。

练习6

打开T盘根目录下的项目文件jxgl,在该项目文件中已有一数据库jxsj。

1.按如下要求在数据库jxsj中新建一个表名为ab的数据库表。

(1)按下表所示创建ab表的表结构(包括字段的标题属性):

字段名

标题

类型

长度

小数位数

xh

学号

C

10

csrq

出生日期

D

byzx

毕业中学

C

20

gkcj

高考成绩

N

30

0

(2)为gkcj设置有效性规则:

大约或等于500,且小于或等于750;

(3)为csrq字段设置默认值:

1985年1月1日;

(4)创建一个普通索引abcd,要求按高考成绩(gkcj字段)排序,相同时按毕业中学(byzx)排序。

2.为学生(xs)表设置更新触发器;班级编号(bjbh字段)的后四位必须与院系专业代码(yxzydm字段)的前四位相等。

3.将教材(jc)表中出版年份(cbnf字段)在2002年之前(含2002年)的教材全部加注删除标志。

4.已知课程(kc)表和课程安排(kcap)表存在相同的课程代码(kcdm)字段,以kc表为主表,kcdm表为子表,按kcdm建立永久关系,并设置kc表和kcap表之间的参照完整性;删除限制。

练习7

打开T盘根目录下的项目文件jxgl,在该项目文件中已有一数据库jxsj。

1.按如下要求在数据库jxsj中新建一个表名为ab的数据库表。

(1)按下表所示创建ab表的表结构(包括字段的标题属性):

字段名

标题

类型

长度

小数位数

rq

日期

D

wbbz

外币币种

C

20

hl

汇率

N

6

2

bz

备注

M

(2)为rq字段设置默认值:

当前系统日期;

(3)设置wbbz字段的有效性规则:

不能为空(提示:

使用EMPTY函数);

(4)创建一个普通索引abcd,要求按rq字段排序,相同时按wbbz字段排序。

2.为学生(xs)表设置删除触发器;班级编号(bjbh字段)的后四位与院系专业代码(yxzydm字段)的前四位不一致的可以删除。

3.为教材(jc)表增加一个进价字段(字段名为jj),其结构与单价(dj)字段相同,且为其赋值:

jj等于dj的85%。

4.已知院系专业(yxzy)表和学生(xs)表存在相同的院系专业代码(yxzydm)字段,以yxzy表为主表,xs表为子表,按yxzydm建立永久关系,并设置yxzy表和xs表之间的参照完整性;删除限制。

二、设计查询(8分)

在TEST项目中已经存在查询chaxun

练习1

已知学生(XS)表存储了每个学生的基本信息,其中含学号(XH,C)、职称(XM,C)等字段,成绩(CJ)表存储了每个学生各门课程的成绩信息,其中含学号(XH,C)、课程代码(KCDM,C)和成绩(CJ,N)等字段。

按如下要求修改JXGL项目中的查询CHAXUN:

基于XS表和CJ表所有已登记的成绩中全部课程均合格的学生名单及其合格课程门数,要求输出字段为:

XH、XM、合格门数,查询结果按合格门数降序排序。

(提示:

“全部课程均合格”就是指最低分数大于或等于60。

练习2

已知学生(XS)表存储了每个学生的基本信息,其中含学号(XH,C)、职称(XM,C)等字段,成绩(CJ)表存储了每个学生各门课程的成绩信息,其中含学号(XH,C)、课程代码(KCDM,C)和成绩(CJ,N)等字段。

按如下要求修改JXGL项目中的查询CHAXUN:

基于XS表和CJ表统计所有已登记的成绩中,有两门或两门以上课程不合格的学生的总课程门数和成绩不合格门数,要求输出字段为:

XH、XM、不合格门数,查询结果按不合格门数降序排序。

(注:

“不合格”就是指成绩小于60)

练习3

已知学生(XS)表存储了每个学生的基本信息,其中含学号(xh,C)、姓名(xm,C)和班级编号(bjbh,C)等字段,成绩(cj)表存储了每个学生各门课程的成绩信息,其中含学号(xh,C)、成绩(xj,N)等字段。

按如下要求修改JXGL项目中的查询CHAXUN:

基于XS表和CJ表,查询班级编号为“050202”的那些没有登记过任何课程成绩的学生名单,要求输出字段为:

xh、xm,查询结果按学号升序排序。

(提示:

采用左联接)

练习4

已知课程安排(KCAP)表是用来存储各学期各班教学课程安排信息的表,其中含有学期编码(XQBM,C)、班级编号(BJBH,C)和课程代码(KCDM,C)等字段,课程(KC)表中含有课程代码(KCDM,C)、课程名称(kcmc,C)和课时数(KSS,N)等字段。

按如下要求修改JXGL项目中的查询CHAXUN:

基于KCAP表和KC表按班级统计同一门课程跨2个或2个以上学期教学的课程。

要求输出字段为:

bjbh、kcdm、kcmc、开课学期数,查询结果按课程代码排序。

 

练习5

已知课程安排(KCAP)表是用来存储各学期各班教学课程安排信息的表,其中含有学期编码(XQBM,C)、班级编号(BJBH,C)和课程代码(KCDM,C)等字段,课程(KC)表中含有课程代码(KCDM,C)、课程名称(kcmc,C)和课时数(KSS,N)等字段。

按如下要求修改JXGL项目中的查询CHAXUN:

基于KCAP表和KC表统计学期编码为“2004-2005学年第1学期”的上课总课时数超过10的教师清单。

要求输出字段为:

工号、上课总课时数,查询结果按上课总课时降序排序。

练习6

已知教师(JS)表中含有文化程度代码(WHCD,C)、职称(ZC,C)和出生日期(CSRQ,D)等字段,在数据库中含有文化程度视图(whcd),视图含有文化程度代码(DM)和文化程度名称(MC)字段。

按如下要求修改JXGL项目中的查询CHAXUN:

基于JS表和WHCD视图统计各类学历的教师最早参加工作年龄和平均参加工作年龄。

要求输出字段为:

文化程度名称、最早参加工作年龄、平均参加工作年龄,查询结果按文化程度名称排序。

(提示:

参加工作年龄可以按工作日期与出生日期年份之差求得。

练习7

已知教材(jc)表存储了各门课程的教材使用情况,其中含有出版社名称(cbsmc,C)、作者(zz,C)和出版年份(cbnf,C)等字段。

按如下要求修改JXGL项目中的查询CHAXUN:

基于jc表查询2000年以后(含2000年)在同一个出版社出版了2本或2本以上教材的所有作者,要求输出字段为:

作者、出版社名称、出版教材数,查询结果按出版教材数降序排序。

三、设计菜单(5分)

练习1

JXGL项目中已存在菜单MENU,其中定义了“文件”菜单栏及其中的“退出菜单”项。

按如下要求设计菜单,完成后的运行效果如图1所示。

1.创建“浏览学生记录”菜单栏,并创建其子菜单“浏览”、“上一记录”、“下一记录”;

2.在菜单项“浏览”和“上一记录”之间插入分组线;

3.在“上一记录”和“下一记录”分别设置命令:

SKIP-1和SKIP。

练习2

JXGL项目中已存在菜单MENU,其中定义了“文件”菜单栏及其中的“退出菜单”项。

按如下要求设计菜单,完成后的运行效果如图1所示。

1.创建“浏览课程记录”菜单栏,并创建其子菜单“浏览”、“上一记录”、“下一记录”;

2.为“浏览”菜单项设置访问键“ALT+B”;

3.为“浏览”菜单项设置SELECT-SQL命令,功能是显示KC表的所有数据。

练习3

JXGL项目中已存在菜单MENU,其中定义了“文件”菜单栏及其中的“退出菜单”项。

按如下要求设计菜单,完成后的运行效果如图1所示。

1.在“文件”菜单栏下增加“运行”菜单项,并创建其子菜单“程序”、“表单”;

2.为“表单”菜单项设置命令:

DOFORM?

3.在“文件”菜单栏下插入系统菜单项“关闭”;

4.在“关闭”和“退出菜单”菜单项之间插入分组线。

练习4

JXGL项目中已存在菜单MENU,其中定义了“文件”菜单栏及其中的“退出菜单”项。

按如下要求设计菜单,完成后的运行效果如图1所示。

1.在“文件”菜单栏下增加“屏幕设置”菜单项,并创建其子菜单“背景图案…”、“背景色…”;

2.为“背景图案…”菜单项添加过程代码:

cF=GETFILE(“bmp,jpg”)

_SCREEN.Picture=cF

3.为“背景图案…”菜单设置命令:

_SCREEN.BackColor=GETCOLOR();

4.在“屏幕设置”和“退出菜单”菜单项之间插入分组线。

 

练习5

JXGL项目中已存在菜单MENU,其中定义了“文件”菜单栏及其中的“退出菜单”项。

按如下要求设计菜单,完成后的运行效果如图1所示。

1.创建“教材管理”菜单栏,并创建其子菜单“教材浏览”、“教材查询”;

2.为“教材浏览”菜单项设置命令:

SELECT*FROMjc;

3.在“教材浏览”和“教材查询”菜单栏之间插入分组线;

练习6

JXGL项目中已存在菜单MENU,其中定义了“文件”菜单栏及其中的“退出菜单”项。

按如下要求设计菜单,完成后的运行效果如图1所示。

1.创建“课程管理”菜单栏,并创建其子菜单“课程浏览”、“定位行…”;

2.为“课程浏览”菜单项设置命令:

SELECT*FROMkc;

3.在“定位行…”菜单项设置“跳过”条件:

USED(”kc”);

练习7

JXGL项目中已存在菜单MENU,其中定义了“文件”菜单栏及其中的“退出菜单”项。

按如下要求设计菜单,完成后的运行效果如图1所示。

1.在“文件”菜单栏下创建“记录定位”菜单项,并创建其子菜单“First”、“Previous”、“Next”、“Last”;

2.将菜单项“First”、“Previous”、“Next”、“Last”的单词首字母设置为访问键;

3.为“First”菜单项添加过程代码:

GOTOP

BROWSE

4.为菜单项“Last”设置命令:

GOBOTTOM

四、设计表单(10分)

练习1

表单F072F用于浏览所选表的数据。

按下列要求修改表单,修改后表单运行时如图2所示。

1.修改表单的有关属性,使表单的标题为“浏览表”,且表单运行时不可移动其位置。

2.在表格控件下方添加一个标签控件(对象名为Label1)和文本框控件(对象名为Text1),并且将标签控件的显示文本修改为“记录数”。

3.修改表格控件的有关属性,使其数据只读。

4.修改命令按钮的标题属性,使其显示文本为“选择表”,访问键为ALT+S,且完善其Click事件代码,要求在原代码之后添加3条命令,功能分别为:

设置表格控件的数据源,使表格中显示当前工作区中打开的表的数据;设置文本框Text1的属性,使其显示当前打开表的记录数;刷新表单。

5.设置表单的Destroy事件的处理代码,其功能是关闭所有打开的表。

练习2

表单F072F浏览所选表的数据。

按下列要求修改表单,修改后表单运行时如图2所示。

1.修改表单的有关属性,使表单的标题为“示例”,且最大化按钮不可用。

2.删除表单上的表格控件,在其位置添加一个列表框控件(对象名为List1),且将其数据源类型设置为“别名”。

3.修改表格控件的有关属性,使其数据只读。

4.修改命令按钮的标题属性,使其显示文本为“选择表”,访问键为ALT+T,且完善其Click事件代码,要求在原代码之后添加2条命令,功能分别为:

设置列表框控件的RowSource属性,使列表框中显示当前工作区中打开的表的数据;设置列表框的ColumnCount属性,使其列数为当前工作区中打开表的字段数。

练习3

表单F072g用于选择所选表的学校,浏览毕业于该学校的教师名单(教师工号gh、姓名xm)。

按下列要求修改表单,修改后表单运行时如图2所示。

1.修改表单的有关属性,使表单的标题为“校友”,且无最小化按钮和最大化按钮。

2.向表单上添加一个标签控件(对象名为Label1)、一个组合框控件(对象名为Combo1)和一个列表框控件(对象名为List1)。

3.将标签控件的显示文本修改为“学校”,其控件大小为自动调整。

4.将组合框控件的RowSourceType属性设置为“SQL语句”,RowSource为“SELECTDISTINCTbyxxFROMjsORDERBY1INTOCURSORtemp1”(注:

js表中byxx字段的含义是“毕业学校”)。

5.将列表框控件的列数设置为2,数据源类型设置为“SQL语句”。

6.为组合框控件的InterActiveChange事件设置代码,要求用一条命令来设置列表框的数据源,使得根据组合框中选择的学校,在列表框中显示毕业于该学校的教师工号(gh)和姓名(xm)。

7.设置表单的Destroy事件处理代码,其功能是关闭所有打开的表和临时表

练习4

表单F072g用于根据所输入的检索词在教材(jc)表中检索教材书目。

按下列要求修改表单,修改后表单运行时如图2所示。

1.修改表单的有关属性,使表单的标题为“教材检索”,且运行时表单自动居中。

2.在表单上分别添加一个标签控件、文本框控件和命令按钮控件,且标签和命令按钮控件上显示的文本分别为“检索词”和“检索”。

3.向表单的数据环境中添加教材(jc)表,并利用鼠标的拖放操作,将该表从数据环境设计器窗口拖放到表单上,以生成一个表格控件(如图2所示),然后将其DeleteMark和ReadOnly属性分别设置为.F.和.T.。

4.为“检索”命令按钮设置Click事件代码,其功能是根据文本框的值检索有关教材,例如在文本框中输入“思想”,则表格中仅显示教材名称(jcmc字段)中包含有“思想”的教材。

要求利用两条命令实现功能:

首先根据文本框的值对jc表记录进行筛选,然后刷新表单。

练习5

表单F072h用于用户登录。

按下列要求修改表单,修改后表单运行时如图2所示。

1.修改表单的有关属性,使表单的标题为“登录”,且无最小化、最大化按钮。

2.分别添加标签控件、文本框控件和命令按钮(如图2所示),且标签控件的显示文本为“再次输入密码”,命令按钮控件上显示文本为“确定”、访问键为“ALT+Y”。

3.为输入密码的两个文本框控件设置PasswordChar属性值,使其在运行时输入的密码字符均显示为“*”。

4.为添加的用于再次输入密码的文本框控件设置LostFocus事件处理代码,其功能是检查两次输入的密码是否相同:

若两次输入的密码不同,则用于MESSAGEBOX()函数显示提示信息“两次输入的密码不同!

”,然后将焦点定位到第一个密码输入文本框。

要求用4行命令实现,这4行命令分别是IF…、=MESSAGEBOX…、THISFORM…和ENDIF。

5.为添加的命令按钮设置Click事件代码,要求用2条命令实现:

首先将VFP主窗口(对象名为_SCREEN)的标题设置为用户名(即文本框Text1的值),然后关闭表单。

练习6

表单F072h用于用户登录,假定输入的用户名为学生姓名(基于xs表的xm字段),密码假定为学号(xh字段)。

按下列要求修改表单,修改后表单运行时如图2所示。

1.修改表单的有关属性,使表单的标题为“登录”,且运行时自动居中、边框样式为“固定对话框”。

2.向表单的数据环境中添加xs表,并将其设置为只读。

3.添加一个图像(Image)控件,并且将其设置为显示pc.ico图标文件、背景为透明。

4.添加一个命令按钮,并且命令按钮控件上显示文本为“确定”、访问键为“ALT+Y”。

5.为添加的命令按钮设置Click事件代码,其功能是根据输入的用户名和密码在xs表中查找(假定用户名对应姓名、密码为学号),若找到则将VFP主窗口(对象名为_SCREEN)的标题设置为用户名(即文本框Text1的值),然后关闭表单,否则显示“用户名或密码不正确!

”消息框并返回。

要求用下列代码来实现其功能(该代码需要完善):

LOCATEFORxm=ALLT(THISFORM.Text1.Value)…

IF!

EOF()

_SCREEN.CAPTION=…

ELSE

=MESSAGEBOX…

ENDIF

THISFORM….

练习7

表单F072k用于根据所选的表,将其导出为文本文件或MicrosoftExcel文件。

按下列要求修改表单,修改后表单运行时如图2所示。

1.修改表单的有关属性,使表单的标题为“导出”,且表单运行时自动居中。

2.将两个标签控件的显示文本分别设置为“导出类型”、“导出文件名”,将两个选项按钮的显示文本分别设置为“文本文件”和“Excel文件”,将命令按钮Command2的显示文本设置为“导出”。

3.完善表单的ABCD方法代码,要求在两个空行处分别添加一条命令,其功能分别是将当前工作区中打开的表复制为文本文件和Excel文件,文件名由文本框Text2给定。

(注:

命令中表述导出文件的文件名时,用名称表达式“(ALLTRIM(THISFORM.Tex

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2