2005 年(春)二级Visual FoxPro(试卷代号VFP04) |
|||||||||
江苏省高等学校非计算机专业学生 (本试卷完成时间 70分钟)
一、项目、数据库和表操作(12分) 打开软盘要目录下的项目文件TEST,在该项目中已有一数据库SJK。 1、按如下要求修改SJK中学生(XS)表的结构: (1)为XS表增加一个备注型字段,其字段名为bz; (2)为备注(bz)字段设置标题:备注; (3)对学号(xh)字段设置输入掩码:接受8个字节的字符,且只接受数字; (4)在XS表中增加一条记录,记录内容为:
(5)创建一个普通索引xmrq,要求先按xm字段排序,xm相同时再按出生日期(csrq)字段排序。 2、为XS表添加编辑说明:学生基本信息表 3、把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表。 4、调整GZB表中所有讲师的综合津贴(zhjt),要求1996年(含1996年)以前参加工作的讲师每人为280元,其余的讲师为150元。 5、为RK表设置插入触发器:工号以“A”或“B”字母开头的记录允许插入。 6、JS表已存在主索引jsgh,索引表达式为gh:RK表已存在普通索引rkgh,索引表达式为gh。以js表为主表、RK表为子表,按gh建立永久关系,并设置JS表和RK表之间的参照完整性:更新限制。 二、设计查询(8分) TEST项目中已经存在查询chaxun,且在SJK中包含一个名为JSST的视图。该视图包括教师工号(gh)、姓名(xm)、出生日期(csrq)、职称(zc)和系代号(xdh)字段,在SJK的工资(GZ)表含有教师工号(gh)、基本工资(jbgz)和综合津贴(zhjt)字段。按如下要求修改查询: 基于JSST视图和GZ表查询每个系各类职称基本工资、岗位津贴和综合津贴三项之和的最大值、最小值、平均值、要求输出字段包括:xdh、zc,最大值、最小值、平均值,查询结果按xdh从高到低排序。 三、设计菜单(5分) TEST中已存在菜单MenuN,利用菜单设计器按如下要求修改菜单: 1、如图所示,为“成绩管理”菜单栏编制子菜单: 2、在数据库SJK中已存在RKVIEW视图,其中包含教师姓名(xm)和课程名称(kcm)等字段。为“教师任课管理”菜单栏下的“教师任课查询”菜单项编制SQL命令:当执行该菜单项时,在浏览窗口显示任课教师的姓名(xm)和课程名称(kcm); 3、将“课程管理”菜单栏设置为可用。 四、设计表单(10分) 软盘上TEST项目中已经存在表单FormR,该表单的功能是根据选择的系,浏览和统计教师信息,按下列要求修改该表单,修改完成后运动表单,其效果如图所示。 1、修改表单的有关属性,使得表单的标题为“教师信息浏览”; 2、修改表格控件的有关属性,使得表格数据只读,第1列和第3列中显示的数据居中: 3、列表框控件的Enabled属性为.F.,修改其有关属性,使得运行时其列表数据为蓝色; 4、为表单的lnit事件编写代码,使得表单运动后首先能显示所有教师的统计信息(提示:调用下拉组合框控件的InterActiveChange事件代码)。 5、为表单的Load事件编写代码,需要完成的功能是设置日期格式为ANSI,且年份为4位. 五、 程序改错(5分) 下列程序的功能是:根据给定出生日期,打印出60岁前有哪几个生日是在星期六或星期日,并分别统计在星期六和星期日过生日的次数。要求: (1)项目中有一个程序文件pcode,将下列程序输入到其中并进行修改; (2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 Set date to long Dbday={^1968/05/20} Nyear=year(dbday) Mm=str(month(dbday),2) Dd=str(day(dbday),2) Store o to nsunday,nsaturday For I=1 to 60 Cebirth=”^”+str(nyear+I,4)+ ”/”+mm+”/”+dd Debirth=dtoc(cebirth) Nweek=dow(debirth) If nweek=1 ?debirth,”星期日” nsunday=nsunday+1 endif if nweek=6 ?debirth,”星期六” nsaturday=nsaturday+1 endif endfor ?”星期六过的次数:”+str(nsaturday,2)+” 星期日过的次数:”+str(nsunday,2) |
|||||||||