实验十九Oracle数据库系统开发实例-学生成绩管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验十九Oracle数据库系统开发实例
-学生成绩管理系统
【一】实验目的
1.掌握采用开发Oracle数据库系统的方法;
2.掌握开发C/S模式的数据库系统的方法。

【二】实验内容
利用SQL Developer,在scott用户下创建6张表:student、teacher、course、allocate、score和users表,如表19-1至19-7所示。

表19-1 users表结构
表19-2 users表的数据
表19-3 student表的结构
表19-4 teacher表的结构
表19-5 course表的结构
表19-6 allocate表的结构
表19-7 score表的结构
一、系统功能
1.实现学生基本数据的编辑和相关查询。

2.实现教师基本数据的编辑和相关查询。

3.实现课程基本数据的编辑和相关查询。

4.实现各课程任课教师安排和相关查询。

5.实现学生成绩数据的编辑和相关查询。

6.实现用户管理和控制功能。

二、系统结构
本系统对应的项目为“学生成绩管理系统.sln”,共有20个窗体和1个公共模块。

本项目的启动窗体为pass,该窗体提示用户输入相应的用户名/密码,并判断是否为合法用户。

如果是非法用户(用户名/密码输入错误),则提示用户再次输入用户名/密码,若用户非法输入3次,便自动退出系统运行。

如果是合法用户,则调用main多文档窗体启动相应的菜单,用户通过该系统菜单执行相应的操作。

系统结构图,如图19-1所示。

main窗体学生数据管理
menu13_Click过程
系统维护
setuser窗体setuser1窗体
pass窗体
editstudent窗体editstudent1窗体
querystudent窗体
教师数据管理
editteacher窗体editteacher1窗体
queryteacher窗体
课程数据管理
editcourse窗体editcourse1窗体
querycourse窗体
成绩数据管理
editscore窗体
queryscore窗体
课程安排管理
allocatecourse窗体allocatecourse1窗体
queryallocate窗体
menu62_Click过程
2.pass窗体
pass窗体用于接受用户的用户名/密码输入,判断是否为合法用户。

如果是合法用户,释放该窗体并启动main窗体;否则释放该窗体不启动main窗体即退出系统运行。

对于合法用户,用全局变量userlevel保存当前用户的级别。

pass窗体设计如图19-2、如表19-8所示。

图19-2 pass窗体设计
表19-8 pass窗体的控件属性表
控件类型Name Text 备注
Form Pass 用户登录
StartPosition属性:
CenterScreen;Controlbox属性:false
GroupBox GroupBox1 登录
Label Label1 学生成绩管理系统
Label Label2 用户名
Label Label3 密码
Button Button1 登录
Button Button2 取消
TextBox TextBox1
TextBox TextBox2 PasswordChar属性:*
3.main窗体
main窗体是一个多文档窗体,其中有菜单栏MenuStrip对象和状态栏StatusStrip对象。

main窗体设计如图19-3、如表19-9所示。

图19-3 main
窗体设计
表19-9main
窗体的控件属性表
控件类型
Name Text 备注Form main 学生成绩管理系统
StartPosition属性:
CenterScreen;
Controlbox属性:false;
WindowState属性:
Maximized
IsMdiContainer属性:True MenuStrip MenuStrip1 MenuStrip1
StatusStrip StatusStrip1 StatusStrip1 添加ToolStripStatusLabel1
4.editstudent窗体
editstudent窗体用于编辑学生数据,用户可以单击“添加”、“修改”和“删除”按钮执行相应的功能。

当DataGridView1控件中不存在任何学生记录时,“修改”和“删除”按钮不可用。

editstudent窗体设计如图19-4、如表19-10所示。

图19-4 editstudent窗体设计
表19-10 editstudent窗体的控件属性表
控件类型Name Text 备注
Form editstudent 编辑学生数据
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 学生记录操作Button AddButton 添加
Button UpdateButton 修改
Button DeleteButton 删除
Button ReturnButton 返回
5.editstudent1窗体
editstudent1窗体被editstudent窗体所调用,以实现student表中记录基本数据的编辑。

用户单击“确定”按钮时,记录编辑有效,即保存用户的修改;单击“取消”按钮时,记录编辑无效,即不保存用户的修改。

editstudent1窗体设计如图19-5、如表19-11所示。

图19-5 editstudent1窗体设计
表19-11 editstudent1窗体的控件属性表
控件类型Name Text 备注
Form editstudent1 编辑单个学生记录
StartPosition属性:
CenterScreen Controlbox属性:false
GroupBox GroupBox1 学生记录Label Label1 学号Label Label2 姓名Label Label3 性别Label Label4 出生日期Label Label5 班号Label Label6 yyyy/mm/dd TextBox TextBox1-4
Radiosex Radiosex1 男Radiosex Radiosex2 女Button OkButton 确定Button CancelButton 取消
6.querystudent窗体
querystudent窗体实现学生记录的查询。

在设置条件时可以直接从组合框中选择1个班号等。

用户可以通过在“设置查询条件”分组框中输入相应的条件后,单击“确定”按钮,在上方的DataGridView1控件中仅显示满足指定条件的学生记录。

querystudent窗体设计如图19-6、如表19-12所示。

图19-6 querystudent窗体设计
表19-12 querystudent窗体的控件属性表
控件类型Name Text 备注
Form querystudent 查询学生数据
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 设置查询条件Label Label2 学号
Label Label3 姓名
Label Label4 性别
Label Label5 班号
TextBox TextBox1-2
Radiosex Radiosex1 男Radiosex Radiosex2 女ComboBox ComboBox1
Button OkButton 确定
Button ReSetButton 重置
Button ReturnButton 返回
7.editteacher窗体
editteacher窗体用于编辑教师基本数据,用户可以单击“添加”、“修改”和“删除”按钮执行相应的功能。

当DataGridView1控件中不存在任何教师记录时,右下方的“修改”和“删除”按钮不可用。

editteacher窗体设计如图19-7、如表19-13所示。

图19-7 editteacher窗体设计
表19-13 editteacher窗体的控件属性表
控件类型Name Text 备注
Form editteacher 编辑教师数据
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 教师记录操作Button AddButton 添加
Button UpdateButton 修改
Button DeleteButton 删除
Button ReturnButton 返回
8.editteacher1窗体
editteacher1窗体被editteacher窗体所调用,以实现teacher表中记录基本数据的编辑。

用户单击“确定”按钮时,记录编辑有效,即保存用户的修改;单击“取消”按钮时,记录编辑无效,即不保存用户的修改。

editteacher1窗体设计如图19-8、如表19-14所示。

图19-8 editteacher1窗体设计
表19-14 editteacher1窗体的控件属性表
控件类型Name Text 备注
Form editteacher1 编辑单个教师记录
StartPosition属性:
CenterScreen Controlbox属性:false
GroupBox GroupBox1 教师记录
Label Label1 编号
Label Label2 姓名
Label Label3 性别
Label Label4 出生日期
Label Label5 职称
Label Label6 单位
Label Label7 yyyy/mm/dd TextBox TextBox1-3 TextBox1-3 Radiosex Radiosex1 男Radiosex Radiosex2 女ComboBox ComboBox1 ComboBox1 ComboBox ComboBox2 ComboBox2 Button OkButton 确定Button CancelButton 取消
9.queryteacher窗体
queryteacher窗体用于教师记录的查询。

用户可以通过在设置查询条件分组框中输入相应的条件后,单击“确定”按钮,在上方的DataGridView1控件中仅显示满足指定条件的教师记录。

queryteacher窗体设计如图19-9、如表19-15所示。

图19-9 queryteacher窗体设计
表19-15 queryteacher窗体的控件属性表
控件类型Name Text 备注
Form queryteacher 查询教师数据
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 设置查询条件Label Label2 编号
Label Label3 姓名
Label Label4 性别
Label Label5 职称
Label Label6 单位
TextBox TextBox1-2
Radiosex Radiosex1 男Radiosex Radiosex2 女ComboBox ComboBox1
ComboBox ComboBox2
Button OkButton 确定
Button ReSetButton 重置
Button ReturnButton 返回
10.editcourse窗体
editcourse窗体用于编辑课程基本数据,用户可以单击“添加”、“修改”和“删除”按钮执行相应的功能。

当DataGridView1控件中不存在任何课程记录时,“修改”和“删除”按钮不可用。

editcourse窗体设计如图19-10、如表19-16所示。

图19-10 editcourse窗体设计
表19-16 editcourse窗体的控件属性表
控件类型Name Text 备注
Form editcourse 编辑课程数据
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 课程记录操作Button AddButton 添加
Button UpdateButton 修改
Button DeleteButton 删除
Button ReturnButton 返回
11.editcourse1窗体
editcourse1窗体被editcourse窗体所调用,以实现course表中记录基本数据的编辑。

用户单击“确定”按钮时,记录编辑有效,即保存用户的修改;单击“取消”按钮时,记录编辑无效,即不保存用户的修改。

editcourse1窗体设计如图19-11、如表19-17所示。

图19-11 editcourse1窗体设计
表19-17 editcourse1窗体的控件属性表
控件类型Name Text 备注
Form editcourse1 编辑单个课程记录
StartPosition属性:
CenterScreen Controlbox属性:false
GroupBox GroupBox1 课程记录Label Label1 课程号Label Label2 课程名TextBox TextBox1-2 TextBox1-2 Button OkButton 确定Button CancelButton 取消
12.querycourse窗体
querycourse窗体实现学生记录的通用查询。

用户可以通过在设置查询条件分组框中输入相应的条件后,单击“确定”按钮,在上方的DataGridView1控件中仅显示满足指定条件的课程记录。

querycourse窗体设计如图19-12、如表19-18所示。

图19-12 querycourse窗体设计
表19-18 querycourse窗体的控件属性表
控件类型Name Text 备注
Form queryteacher 查询课程数据
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 设置查询条件Label Label2 课程号
Label Label3 课程名
TextBox TextBox1-2
Button OkButton 确定
Button ReSetButton 重置
Button ReturnButton 返回
13.allocateCourse窗体
allocateCourse窗体用于安排某班某课程的任课教师。

用户可以单击“安排新课程”、“修改任课教师”和“删除课程安排”按钮执行相应的功能。

当DataGridView1控件中不存在任何课程安排记录时,“修改任课教师”和“删除课程安排”按钮不可用。

allocateCourse窗体设计如图19-13、如表19-19所示。

图19-13 allocateCourse窗体设计
表19-19 allocateCourse窗体的控件属性表
控件类型Name Text 备注
Form allocateCourse 安排任课教师
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 任课教师操作Button AddButton 安排新课程Button UpdateButton 修改任课教师Button DeleteButton 删除课程安排Button ReturnButton 返回
14.allocateCourse1窗体
allocateCourse1窗体被allocateCourse窗体所调用,以实现某班某课程的任课教师编辑。

若是安排新课程,需选择班号和课程号,然后指定对应的教师编号;若是修改任课教师,班号和课程号不能修改,只需选择相应的任课教师编号。

用户单击“确定”按钮时,本次安排或修改任课教师记录有效,即保存所作的修改;单击“取消”按钮时,本次安排或修改任课教师记录无效,即不保存所作的修改。

allocateCourse1窗体设计如图19-14、如表19-20所示。

图19-14 allocateCourse1窗体设计
表19-20 allocateCourse1窗体的控件属性表
控件类型Name Text 备注
Form allocateCourse1 安排任课教师
StartPosition属性:
CenterScreen Controlbox属性:false
GroupBox GroupBox1 安排课程记录
Label Label1 班号
Label Label2 课程号
Label Label3 教师编号
ComboBox1-3 ComboBox1-3
DropDownStyle 属性设
置为DropDownList Button OkButton 确定
Button CancelButton 取消
15.queryallocate窗体
queryallocate窗体实现课程安排记录的通用查询。

用户可以通过在设置查询条件分组框中输入相应的条件后,单击“确定”按钮,在上方的DataGridView1控件中仅显示满足指定条件的课程安排记录。

queryallocate窗体设计如图19-15、如表19-21所示。

图19-15 queryallocate窗体设计
表19-21 queryallocate窗体的控件属性表
控件类型Name Text 备注
Form queryallocate 查询课程安排数据
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 设置查询条件Label Label2 班号
Label Label3 课程号
Label Label4 教师编号ComboBox1-3 ComboBox1-3
Button OkButton 确定
Button ReSetButton 重置
Button ReturnButton 返回
16.editscore窗体
editscore窗体用于产生和编辑学生成绩数据。

DataGridView1控件中仅显示满足指定条件的学生成绩记录,其中学号和课程号是不可修改的,只可以编辑分数。

如果指定课程号的学生成绩记录不存在,可以单击“产生空白成绩表”按钮,先产生一个没有分数的成绩表,然后再输入学生分数。

如果指定课程号的学生成绩记录已存在,可以单击“清除课程成绩表”按钮,删除该课程号的学生成绩记录。

输入或修改学生的分数,单击“保存成绩”按钮将本次编辑保存到score表中。

editscore窗体设计如图19-16、如表19-22所示。

注意:由于Oracle中,由于有1个score的公有同义词,和score表有冲突,所以要删除score公有同义词。

图19-16 editscore窗体设计
表19-22 editscore窗体的控件属性表
控件类型Name Text 备注
Form editscore 编辑成绩数据
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 设置查询条件Label Label2 课程号
ComboBox1 ComboBox1 DropDownStyle 属性设置为DropDownList
Button SpcButton 产生空白成绩表Button ClearScoreButton 清除课程成绩表Button SaveButton 保存成绩Button ReturnButton 返回
17.queryscore窗体
queryscore窗体用于实现学生成绩数据的查询。

用户可以通过在设置查询条件分组框中输入相应的条件后,单击“确定”按钮,在上方的DataGridView1控件中仅显示满足指定条件的学生成绩记录。

queryscore窗体设计如图19-17、如表19-23所示。

图19-17 queryscore窗体设计
表19-23 queryscore窗体的控件属性表
控件类型Name Text 备注
Form queryscore 成绩数据查询
StartPosition属性:
CenterScreen Controlbox属性:false
Label Label1 Label1 DataGridView DataGridView1
GroupBox GroupBox1 设置查询条件Label Label2 学号
Label Label3 姓名
Label Label4 课程号
Label Label5 分数范围:
Label Label6 为
Label Label7 之间
TextBox TextBox1-3
ComboBox ComboBox1-2
Button OkButton 确定
Button ReSetButton 重置
Button ReturnButton 返回
18.setuser窗体
setuser窗体用于添加、删除和修改使用本系统的用户。

DataGridView1控件中显示所有的用户。

通过“添加”按钮增加新用户,“修改”按钮修改当前选择的用户,“删除”按钮删除当前选择的用户。

但不得删除“admin”的系统管理员用户。

setuser窗体设计如图19-18、如表19-24所示。

图19-18 setuser窗体设计
表19-24 setuser窗体的控件属性表
控件类型Name Text 备注
Form setuser 设置系统用户
StartPosition属性:
CenterScreen Controlbox属性:false
DataGridView DataGridView1
Button AddButton 添加Button UpdateButton 修改Button DeleteButton 删除Button ReturnButton 返回
19.setuser1窗体
setuser1窗体被setuser窗体调用以编辑用户记录。

在操作中,用户单击“确定”按钮时,记录编辑有效;单击“取消”按钮时,记录编辑无效。

Setuser1窗体设计如图19-19、如表19-25所示。

图19-19 setuser1窗体设计
表19-25 setuser1窗体的控件属性表
控件类型Name Text 备注
Form setuser1 编辑用户记录
StartPosition属性:
CenterScreen Controlbox属性:false
GroupBox GroupBox1 用户记录Label Label1 用户名
Label Label2 密码
Label Label3 级别TextBox TextBox1-2
ComboBox ComboBox1 ComboBox1 Button OkButton 确定Button CancelButton 取消
7.系统运行
启动“学生成绩管理系统”,出现登录界面如图19-20所示。

用户输入正确的用户名和
密码后,单击“登录”按钮,进入系统菜单操作界面,如图19-21所示。

图19-20 登录界面
图19-21 系统菜单操作界面
修改和删除学生记录。

图19-22学生数据编辑界面
单击“教师数据管理”→“教师数据编辑”菜单项,其操作界面如图19-23所示,可以增加、修改和删除教师记录。

图19-23 教师数据编辑界面
修改和删除课程记录。

图19-24 课程数据编辑界面
单击“课程安排管理”→“安排任课教师”菜单项,其操作界面如图19-25所示,可以增加、修改和删除任课教师安排记录。

图19-25 安排任课教师界面
直接增加成绩记录,只能通过DataGridView1控件中的分数列来输入学生某课程的成绩。

图19-26 成绩数据编辑界面
单击“系统维护”→“设置系统用户”菜单项,其操作界面如图19-27所示,可以增加、修改和删除用户记录。

图19-27 设置系统用户界面
【上机作业】
1.oracle数据库:增加班级表class。

列名数据类型非空说明
班号char(10)√主键
班级名char(20)√
设置student表的班号为外键,参照class表的班号。

设置allocate表的班号为外键,参照class表的班号。

2.在main的菜单栏增加“班级数据管理”,并增加相应的代码。

相关文档
最新文档