一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生目录下完成下列操作(在"成绩管理"数据库中完成):
1. 为"学生"表在"学号"字段上建立升序主索引, 索引名为学号;
2. 为"学生"表的"性别"字段定义有效性规则, 规则表达式为 性别$"男女"
出错提示信息是: "性别必须是男或女"。
3. 在"学生"表的"性别"和"年龄"字段之间插入一个"出生日期"字段,数据类型为"日期型"(修改表结构);
4.用SQL的UPDATE命令将学生"王三风"的出生日期修改为1983年5月1日,并将该语句粘贴在SQL.TXT文件中(第一行、只占一行)。
解答:
打开数据库"成绩管理",用鼠标右键单击表“学生”,在出现的快捷菜单中选“修改”,进入表设计器后,建立索引、设置字段有效性规则和插入字段,第4小题可用以下命令:
update 学生 set 出生日期={^1983-05-01} where 姓名=”王三凤”
二、简单应用(2小题,每题20分,计40分)
1. 用SQL语句查询至少有三门的课程成绩在70分以上(包括70分)的学生姓名,并将结果按升序存入表文件results.dbf,然后将该SQL语句粘贴在SQL.TXT文件的第二行(只占一行)。
解答:
select 学生.姓名 from成绩管理!选课 inner join 成绩管理!学生;
On 选课.学号=学生.学号 Where 选课.成绩>=70 Group By 学生.姓名;
Having count(选课.课程号)>=3 Order by 学生.姓名 Into table results.dbf
注意:运行后,一定要将当前输入的命令保存到SQL.txt文本文件中去。
2.modi.prg程序的功能是:先为"学生"表增加一个"平均成绩"字段,数据类型为N(6,2);然后根据"选课"表统计每个学生的平均成绩,并写入新添加的字段。该程序有三处错误,请改正之,使程序能正确运行(在指定处修改,不允许增加或删除程序行)。
解答:
*************Error*************
modify table 学生 Add 平均成绩 N(6,2)
错误1:modify改为:Alter
*************Error*************
Do while Eof()
错误2:eof()记录指针是否指向表的尾部,因改为”! eof()”
*************Error*************
replace 平均成绩 = cj[1]
错误3:语法错误:改=为:with
三、综合应用(1小题,计30分)
在考生文件夹下,完成如下综合应用:
(1) 根据"成绩管理"数据库中的"学生"、"课程"和"选课"三个表建立一个名为view_grade的视图,该视图包含学号、姓名、课程名称和成绩四个字段,并要求先按学号升序排序、在学号相同情况下按课程名称降序排序;
(2) 建立一个表单grade_list(控件名为form1,文件名为grade_list),表单
中含有一个表格(名称为grdView_grade)控件, 该表格控件的数据源是前面建立的视图view_grade;然后在表格控件下面添加一个命令按钮(名称为Command1),该命令按钮的标题为"退出",要求单击按钮时关闭表单。
解答:
1.打开成绩管理数据库,单击鼠标右键,新建本地视图。按要求操作,完成后保存。
2.新建表单,添加控件,对表单中的表格控件,先改其控件名:也就是Name属性。设置表格数据中两项属性:表格的recordsourcetype=0(数据源的类型)和Recordsource=view_grade(数据源)。
附相关数据表:
课程.dbf
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |