实验十九Oracle数据库系统开发实例-学生成绩管理系统
- 格式:doc
- 大小:1.68 MB
- 文档页数:47
实验十九 Oracle数据库系统开发实例
-学生成绩管理系统
【一】实验目的
1. 掌握采用开发Oracle数据库系统的方法;
2. 掌握开发C/S模式的数据库系统的方法。
【二】实验内容
利用SQL Developer,在scott用户下创建6张表:student、teacher、course、allocate、score和users表,如表19-1至19-7所示。
表19-1 users表结构
列名 数据类型 非空 说明
用户名 char(10) √ 主键
密码 char(10) √
级别 char(10) √
表19-2 users表的数据
用户名 密码 级别
admin 123456 系统管理员
表19-3 student表的结构
列名 数据类型 非空 说明
学号 char(10) √ 主键
姓名 char(10) √
性别 char(2) 性别,只能取“男”或“女”
出生日期 date
班号 char(10)
表19-4 teacher表的结构
列名 数据类型 非空 说明
编号 char(10) √ 主键
姓名 char(10) √
性别 char(2) 性别,只能取“男”或“女”
出生日期 date
职称 char(10)
单位 char(16) 表19-5 course表的结构
列名 数据类型 非空 说明
课程号 char(10) √ 主键
课程名 char(16) √
表19-6 allocate表的结构
列名 数据类型 非空 说明
班号 char(10) √ (班号,课程号)主键
课程号为外键 课程号 char(10) √
教师编号 char(10) 教师编号为外键
表19-7 score表的结构
列名 数据类型 非空 说明
学号 char(10) √ (学号,课程号)主键
学号为外键,课程号为外键 课程号 char(10) √
分数 float 分数在0-100之间
一、 系统功能
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过程
图19-1 系统结构图
三、 系统实现
1. 公共模块
本项目中包含一个公共模块即CommModule.vb模块,包含一些全局变量和全局函数Exesql。
其中全局变量被本项目中的一些窗体用于在窗体之间传递数据。
全局函数Exesql可以对school数据库中任何表执行Select、Insert、Update和Delete操作,如果是Select操作,返回相应的DataTable对象,如果是Insert、Update或Delete操作,对数据表执行更新,返回空(Nothing)。具体代码如下:
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 返回