VFP秋上机试题Word格式.docx
《VFP秋上机试题Word格式.docx》由会员分享,可在线阅读,更多相关《VFP秋上机试题Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
(3)设置BH字段格式,使得在该字段中输入数据时自动删除其前导空格和结尾空格;
(4)为表创建一个主索引abcd,使BH字段不能输入重复值。
2.为教师(JS)表设置插入触发器;
工号(GH)字段的值必须是6个字节的非空格字符(这里指去除首尾空格后,其长度为6)。
3.为教师(JS)表增加一个备注型字段(字段名为BZ),并将所有职称(ZC字段)为“教授”记录的BZ字段的值设置为“学科带头人”。
4.已知学生(XS)表和成绩(CJ)表存在相同的学号(XH)字段,以XS表为主表,CJ表为子表,按XH建立永久关系,并设置XS表和CJ表之间的参照完整性;
删除级联。
练习2
XH
学号
C
XM
姓名
XB
性别
CSRQ
出生日期
D
(2)设置XB字段的默认值:
“男”;
(3)为CSRQ字段设置有效性规则:
必须是1980年以后(包括1980年)出生的学生;
(4)创建一个普通索引abcd,使表中记录按学生的年龄排序,相同时按XB字段排序。
注:
年龄为当前年份与出生年份(由CSRQ字段指定)之差。
2.为教师(JS)表设置删除触发器;
禁止删除。
3.修改院系专业(YXZY)表的备注(BZ)字段的值,修改方法是:
若代码(YXZYDM字段)以“11”开头,则BZ字段值设置为“一本招生”。
4.已知课程(KC)表和成绩(CJ)表存在相同的课程代码(KCDM)字段,以KC表为主表,CJ表为子表,按KCDM建立永久关系,并设置KC表和CJ表之间的参照完整性;
删除限制。
练习3
BH1
楼号
4
BH2
房间号
5
BH3
床位
(2)设置BH1字段的输入掩码:
首字符必须为字母;
(3)为表设置有效性规则:
BH1首字符必须与BH2的首字符相同;
(4)创建一个普通索引abcd,按BH1字段排序,相同时按XH字段排序。
2.为教材(JC)表设置删除触发器;
出版年份(CBNF字段)在2000年以前的记录(不包括2000年)允许删除。
3.将成绩(CJ)表中课程代码(KCDM字段)为“9501”的记录的备注(BZ)字段值修改为“选修”。
4.已知课程(KC)表和课程安排(KCAP)表存在相同的课程代码(KCDM)字段,以KC表为主表,KCAP表为子表,按KCDM建立永久关系,并设置KC表和KCAP表之间的参照完整性;
更新级联。
练习4
RQ
日期
XSSL
销售数量
N
6
KPSL
开票数量
(2)设置RQ字段的默认值:
为系统当前日期;
KPSL小于活等于XSSL;
(4)创建一个普通索引abcd,要求按RQ字段排序,相同时按BH字段排序。
2.为教材(JC)表设置插入触发器;
国际标准图书编号(ISDN字段)必须以“IS”开头,否则不允许插入。
3.为成绩(CJ)表中中增加一个平时成绩字段(字段名为PSCJ),其类型和宽度与成绩(CJ)字段相同,并将所有记录的PSCJ置为85。
4.已知教师(JS)表和课程安排(KCAP)表存在相同的工号(GH)字段,以JS表为主表,KCAP表为子表,按GH建立永久关系,并设置JS表和KCAP表之间的参照完整性;
练习5
打开软盘根目录下的项目文件jxgl,在该项目文件中已有一数据库jxsj。
1.按如下要求在数据库jxsj中新建一个表名为ab的数据库表。
(1)按下表所示创建ab表的表结构(包括字段的标题属性):
xh
tsbh
图书编号
jyrq
借阅日期
yqts
逾期天数
3
(2)设置tsbh字段的格式属性,使之在输入时字母均转换为大写字母;
(3)为jyrq字段设置有效性规则:
借阅日期不允许在当前系统日期之后;
(4)为表创建一个普通索引abcd,要求按xh字段排序,相同时按jyrq字段排序。
单价(dj字段)超过30元的不允许插入。
3.针对成绩(cj)表,根据成绩(cj)表的值修改备注(bz)字段的值:
cj大于或等于85,bz字段的值为“优”。
4.已知院系专业信息(yxzy)表和学生(xs)表存在相同的院系专业代码(yxzydm)字段,以yxzy表为主表,xs表为子表,按yxzydm建立永久关系,并设置yxzy表和xs表之间的参照完整性;
插入限制。
练习6
hsrq
还书日期
(2)为表设置有效性规则:
还书日期(hsrq字段)必须在借阅日期(jyrq字段)之后,至少在同一天;
(3)为jyrq字段设置默认值:
等于当前系统日期;
(4)为表创建一个普通索引abcd,要求按xh字段排序,相同时按借阅天数排序(借阅天数为hsrq与jyrq之差)。
2.为成绩(cj)表设置更新触发器;
成绩(cj字段)必须大于或等于0,且小于或等于100。
3.为教师(js)表增加一个工龄字段(字段名为gl,类型为整型),并为它赋值:
工龄等于当前系统日期的年份减去工作日期(gzrq字段)的年份。
4.已知院系专业信息(yxzy)表和js表存在相同的院系专业代码(yxzydm)字段,以yxzy表为主表,js表为子表,按yxzydm建立永久关系,并设置yxzy表和js表之间的参照完整性;
练习7
bmbh
bmmc
zgld
主管领导
bmlb
部门类别
1
(2)设置zgld字段的有效性规则:
不能为空值或空格;
(3)设置bmlb字段的格式属性,使其只能输入一个大写字母;
(4)创建一个普通索引abcd,要求按bmlb字段排序,相同时按bmlb字段排序。
2.为课程安排(kcap)表设置更新触发器;
学期编码(xqbm字段)为“2006-2007学年第2学期”的记录允许更新。
3.为教师(js)表增加一个备注字段(字段名为bz,类型为备注型)字段,并为它赋值:
如果年龄小于或等于45,则bz字段的值为“中青年教师”。
(注:
年龄等于当前系统日期的年份减去出生日期(csrq)的年份。
)
4.已知课程(kc)表和教材(jc)表存在相同的课程代码(kcdm)字段,以kc表为主表,jc表为子表,按kcdm建立永久关系,并设置kc表和jc表之间的参照完整性;
练习8
rybh
ssbm
部门
zw
职务
rzrq
(2)设置rybh字段的输入掩码,使之只能输入数字字符;
(3)为表创建有效性规则:
当zw不为空时rzrq不为空,zw为空时rzrq为空;
(4)创建一个普通索引abcd,要求按ssbm字段排序,相同时按rybh字段排序。
2.为教师(js)表设置删除触发器;
聘用日期(pyrq字段)为空的记录允许删除。
3.为教师(js)表增加一个年龄字段(字段名为nl,类型为整型)字段,并为它赋值:
年龄等于当前系统日期的年份减去出生日期(csrq字段)的年份。
4.已知学生(xs)表和成绩(cj)表存在相同的学号(xh)字段,以xs表为主表,cj表为子表,按xh建立永久关系,并设置xs表和cj表之间参照完整性;
二、设计查询(8分)
在TEST项目中已经存在查询chaxun
已知教师(JS)表中含有文化程度代码(WHCD,C)、职称(ZC,C)和出生日期(CSRQ,D)等字段,数据库中的文化程度视图(WHCD)含有文化程度代码(DM)和文化程度名称(MC)字段。
按如下要求修改JXGL项目中的查询CHAXUN:
基于JS表和WHCD视图统计各类职称、各类文化程度的教师人数、最小年龄。
要求输出字段为:
职称、文化程度名称、人数、最小年龄,查询结果按职称和文化程度名称排序。
年龄按当前年份与出生年份之差求得。
已知教师(JS)表中含有政治面貌代码(ZZMM,C)、职称(ZC,C)和出生日期(CSRQ,D)等字段,数据库中的政治面貌视图(ZZMM)含有政治面貌代码(DM)和政治面貌名称(MC)字段。
基于JS表和ZZMM视图统计各类职称、各类政治面貌的教师人数、平均小年龄。
职称、政治面貌名称、人数、平均年龄,查询结果按职称和政治面貌名称排序。
已知课程安排(KCAP)表是用来存储各学期各班教学课程安排信息的表,其中含有学期编码(XQBM,C)、班级编号(BJBH,C)和课程代码(KCDM,C)等字段,课程(KC)表中含有课程代码(KCDM,C)、课程名称(kcmc,C)和课时数(KSS,N)等字段。
基于KCAP表和KC表统计学期编码为“2004-2005学年第1学期”的各班开课门数、总课时数。
班级编号、开课门数、总课时数,查询结果按班级编号排序。
基于KCAP表和KC表统计班级编号为“040202”班每学期的开课门数和总课时数。
学期编码、开课门数、总课时数,查询结果按学期编码排序。
已知课程(kc)表中含有课程代码(kcdm,C)、课程名称(kcmc,C)等字段,在成绩(cj)表中含有学生的学号(xh,C)、成绩(cj,N)、课程代码(kcdm,C)等字段,按如下要求修改jxgl项目中的查询chaxun:
基于kc表和cj表统计各门课程的学习人数、平均分。
查询的输出字段为kcdm、kcmc、学习人数、平均分,要求统计结果中仅包含平均分在75(含75)以上的那些课程,且按平均分降序排序。
基于kc表和cj表统计所有课程的学习人数、平均分,查询的输出字段为:
kcmc、kcmc、平均均分。
要求统计结果中包含kc表中的所有课程,若cj表中无某课程相关学生的成绩记录,则该课程的“平均分”显示为NULL值;
统计结果按平均分降序排序,相同时按课程代码升序排序。
(提示:
使用左联接。
已知课程(kc)表中含有课程代码(kcdm,C)、课程名称(kcmc,C)等字段,在成绩(cj)表中含有学生的学号(xh,C)、成绩(cj,N)、课程代码(kcdm,C)等字段,若成绩不低于60分时,学生可以取得对应课程的学分。
按如下要求修改jxgl项目中的查询chaxun:
基于kc表和cj表统计每个学生已取得的总学分和所学课程门数。
查询的输出字段为学号、总学分、课程门数,查询结果按总学分降序和学号升序排序。
已知课程安排(kcap)表是用来存储各学期各班教学课程安排信息的表,其中含有学期编码(xqbm,C)、班级编号(bjbh,C)和课程代码(kcdm,C)等字段,课程(kc)表中含有课程代码(kcdm,C)、课程名称(kcmc,C)和课时数(kss,N)等字段。
基于kcap表和kc表统计班级编号为“040202”班每学期的开课门数和总课时数。
三、设计菜单(5分)
JXGL项目中已存在菜单menu,其中定义了“文件”菜单栏及其中的“退出菜单”项。
按如下要求设计菜单,完成后的运行效果如图1所示。
1.为“文件”菜单设置访问健“ALT+F”;
图1
2.在“文件”菜单下增加“打开”菜单项,并为“打开”菜单项创建两个子菜单项“数据库”和“表”,并为“数据库”菜单项设置命令“OPENDATABASE”;
3.在“打开”和“退出菜单”菜单项之间插入分组线。
1.将“文件”菜单改为“自定义”;
2.设置有关选项,使菜单运行时,“自定义”菜单追加在系统菜单之后;
3.为“退出菜单”项设置快捷键“CTRL+X”;
4.在“自定义”菜单下增加“运行外部EXE程序”菜单项;
5.为“运行外部EXE程序”菜单项添加如下过程代码:
exeFile=GETFIE(“exe”)
RUN/N&
exeFile
1.将“文件”菜单改为“自定义”,并设置访问键“ALT+C”;
2.设置有关选项,使菜单运行时,“自定义”菜单追加在系统“文件”菜单之前;
3.在“自定义”菜单下增加“设置背景色”菜单项,并为“设置背景色”菜单项创建子菜单“设置…”和“还原”;
4.指定“还原”菜单执行命令:
_SCREEN.BackColor=RGB(255,255,255)。
1.创建“运行”菜单栏,并创建其子菜单项“PRG程序”和“表单程序…”;
2.将菜单项“PRG程序”中的“P”字母设置为访问键“ALT+P”;
3.在菜单项“PRG程序”和“表单程序…”之间插入分组线;
4.指定“表单程序…”菜单执行命令:
DOFORM?
。
1.在“文件”菜单栏下创建“新建…”子菜单项;
2.在“文件”菜单栏下插入系统菜单“打开”;
3.在菜单项“打开”和“退出菜单”之间插入分组线;
4.为菜单项“退出菜单”设置快捷键“CTRL+X”和状态栏提示信息“恢复系统菜单”。
1.创建“教学管理”菜单栏,并创建子菜单“课程”、“教师”和“学生”;
2.设置“课程”菜单项的热键“ALT+K”;
3.为“课程”菜单项设置SELECT-SQL命令,以显示kc表中的所有数据;
4.为“学生”菜单项设置快捷键“CTRL+T”。
1.在“文件”菜单栏下增加“浏览表”子菜单项;
2.在菜单项“浏览表”和“退出菜单”之间插入分组线;
3.在“浏览表”菜单下创建“学生表”和“成绩表”子菜单;
4.为菜单项“学生表”设置SELECT-SQL命令,以显示xs表中的所有数据。
1.在“文件”菜单栏增加“新建…”菜单项;
2.在菜单项“新建…”和“退出菜单”之间插入分组线;
3.在“新建…”菜单下创建“Table”和“Database”子菜单;
4.为菜单项“Table”中的“T”字母键设置热键“ALT+T”。
5.为菜单项“Table”设置命令:
CREATE。
四、设计表单(10分)
表单F072A用于显示民族、政治面貌和文化程度代码表,其数据源分别为数据库中的三个视图(MZ、ZZMM、WHCD)。
按下列要求修改表单,修改后表单运行时如图2所示。
1.修改表单的有关属性,使表单的标题为“代码表”,图标使用PC.ICO文件,且表单运行时自动居中。
2.将视图ZZMM和WHCD添加到数据环境中。
3.在表格的上方添加一个选项按钮组,要求将其对象名设置为Mzw,选项按钮组的布局与各按钮的标题如图所示(提示:
可利用“生成器”设置按钮个数、标题和水平布局)。
4.为添加的选项按钮组Mzw的InteractiveChange事件编写事件代码,其功能是:
运行表单时根据选项按钮组中按钮的选择,表格中显示相应的代码表(要求:
利用DOCASE程序结构,根据选项按钮组的值设置表格控件的RecordSource属性)。
5.将表单上命令按钮的标题修改为“关闭”,并为该按钮编写事件代码,其功能是单击该按钮可关闭表单。
1.修改表单的有关属性,使表单的标题为“代码表”;
将视图ZZMM和WHCD添加到数据环境中;
设置表格的有关属性,使得表格无删除标记列、无水平滚动条。
2.删除表单上的命令按钮控件;
在表格的上方添加一个标签控件和组合框控件,并将标签中显示文本设置为“选择类型”,组合框设置为下拉列表框。
3.为下拉列表框设置数据源,要求RowSourceType属性为“值”,下拉列表中显示3行:
民族、政治面貌、文化程度。
4.为下拉列表框设置InteractiveChange事件代码,要求表格能根据下拉列表框中的选择显示相应视图中的数据(要求:
利用DOCASE程序结构,根据组合框的值设置表格控件的RecordSource属性)。
表单F072B用于根据所选择民族,显示该民族的教师信息,其数据源分别为数据库中的三个视图MZ和表JS。
1.修改表单的有关属性,使表单运行时自动居中,边框样式为“固定对话框”,标题为“查询”。
2.修改下拉列表框的Rowsource属性,使其下拉列表框显示MZ视图的两列数据。
3.在下拉列表框控件与表格控件之间添加一个标签控件,并将其对象名改为Lmz,显示文本为“所有民族”。
4.设置表格控件的数据源,要求RecordSource属性为“别名”,RecordSource属性为JS表。
5.为下拉列表框控件的InteractiveChange事件编写事件代码,其功能是根据下拉列表框中选择的值,修改标签Lmz的标题,并使表格中显示相应民族的教师数据。
要求是:
首先修改表单的UserMethod方法程序(完善一条命令、在空白处添加一条命令),然后在下拉列表框控件的InteractiveChange事件中调用该UserMethod方法。
6.为“打印”命令按钮编写Click事件代码,要实现的功能是预览报表文件RTEST。
表单F072B用于根据所选择民族,显示所选民族的教师工号(gh)与姓名(xm),其数据源分别为数据库中的三个视图MZ和表JS。
1.修改表单的有关属性,使表单运行时自动居中。
2.修改下拉列表框的有关属性,使其下拉列表框显示MZ视图的两列数据。
3.设置表格控件的数据源,要求RecordSourceType属性为“SQL说明”,RecordSource属性值设置为“selectgh,xmfromjsintocursortemp”。
4.在表格控件上面添加一个文本框控件,将其对象名改为Tmz,Value属性值为“所有民族”,且将该控件设置为不能响应用户引发的事件。
5.为下拉列表框控件的InteractiveChange事件编写事件代码,其功能是根据下拉列表框中选择的值(所选民族),控制文本框Lmz的Value属性值和表格中显示的数据。
用两条命令分别设置文本框Tmz的Value属性值和表格的RecordSource属性值。
6.修改表单上的命令按钮控件,将其标题改为“退出”,访问键为ALT+X。
表单f072c用于根据所选择课程,显示学生的考试成绩。
1.修改表单的有关属性,使表单无最大化、最小化按钮,图标为pc.ico文件。
2.修改组合框的InteractiveC