一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生目录下完成如下操作:
1. 建立菜单QUERY_MENU。该菜单只有"查询"和"退出"两个主菜单项(条形菜单), 其中单击菜单项"退出"时,返回到VFP系统菜单(相应命令写在命令框中,不要写在过程中)。
2. 将COURSE表的"开课系部"字段名改为"开课单位",其余不变。
3. 从数据库SCORE_MANAGER中移去表TEMP2.DBF(不是删除)。
4. 将SCORE1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高到低排序,排序结果存入表NEW_ORDER。
解答:
1. 单击“文件”菜单,单击“新建”,在“新建”对话框中选择“菜单”,单击“新建文件”按钮,在出现的“新建菜单”对话框中单击“菜单”按钮,输入菜单文件名“QUERY_MENU”,进入“菜单设计器”,按试题要求设计菜单项,在“退出”菜单项的结果中选“命令”,在随后的命令输入框中输入命令:set sysmenu to default。
保存后单击“菜单”下的“生成”命令,生成菜单程序,然后设计名为myform的表单,设置表单的RightClick事件代码为:do menu_quick.mpr
(以下2、3、4均以命令方式,菜单方式也可完成操作。)
2、alter table course rename 开课系部 to 开课单位
3、remove table temp2
4、SELECT * FROM score_manager!score1 ORDER BY Score1.学号, Score1.成绩 DESC into table NEW_ORDER
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1. 在SCORE_MANAGER数据库中统计选修了课程的学生人数(选修多门时,只计算1次),统计结果保存在一个新表NEW_TABLE中, 表中只有一个字段,字段名为学生人数。
解答:
SELECT COUNT(Student.姓名) AS 学生人数;
FROM score_manager!course INNER JOIN score_manager!score1;
INNER JOIN score_manager!student ON Student.学号 = Score1.学号 ;
ON Course.课程号 = Score1.课程号 GROUP BY Course.课程名;
INTO TABLE new_table.dbf
或:sele count(dist 学号) as 学生人数 from score1 into table new_table
2. 在SCORE_MANAGER数据库中查询没有学生选修的课程,查询结果含"课程名"和"开课单位"字段,结果按课程名升序保存在一个新表NEW_TABLE2中(注意:字段名"开课单位"是在基本操作中根据"开课系部"修改后的字段名)。
解答:
SELECT Course.课程名, Course.开课单位;
FROM score_manager!course INNER JOIN score_manager!score1;
INNER JOIN score_manager!student ON Student.学号 = Score1.学号 ;
ON Course.课程号 = Score1.课程号 WHERE Score1.成绩 IS NULL;
ORDER BY Course.课程名 INTO TABLE new_table2.dbf
三、综合应用(1小题,计30分)
SCORE_MANAGER数据库中含有三个数据库表STUDENT、SCORE1和COURSE。为了对SCORE_MANAGER数据库数据进行查询,设计一个表单Myform3(控件名为form1,表单文件名为Myform3)。表单标题为"成绩查询";表单有"查询"(名称为Command1)和"退出"(名称为Command2)两个命令按钮。表单运行时,单击"查询"按钮,查询每门课程的最高分,查询结果中含"课程名"和"最高分"字段,结果按课程名升序保存在表NEW_TABLE3。
单击"退出"按钮,关闭表单。
解答:
在查询按钮中置如下程序:
SELECT Course.课程名, MAX(Score1.成绩) as 最高分;
FROM score_manager!course INNER JOIN score_manager!score1;
INNER JOIN score_manager!student ON Student.学号 = Score1.学号 ;
ON Course.课程号 = Score1.课程号 GROUP BY Course.课程名;
ORDER BY Course.课程名 INTO TABLE new_table3.dbf
附相关数据表:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |