VB+oracle学生学籍管理系统.docx
《VB+oracle学生学籍管理系统.docx》由会员分享,可在线阅读,更多相关《VB+oracle学生学籍管理系统.docx(57页珍藏版)》请在冰豆网上搜索。
VB+oracle学生学籍管理系统
课程设计报告册
课程设计报告
设计项目
编号
1
名称
学生信息管理系统
主要
仪器
设备
PC
附属
设备
主要
使用
软件
Oracle、VisualBasic6.0
起止时间
2010年12月10日—12月30日
同组人
无
课程设计任务书
1.本课程设计的目的
掌握Oracle基本内容,了解备份和恢复数据库的方法;基本的Oracle语句,如添加、查询、修改、删除记录语句;VB中数据绑定控件的方法,熟悉数据库连接技术。
2.课程设计的任务及要求
1)基本要求:
要求掌握Oracle的基本概念,了解备份和恢复数据库的方法,基本的Oracle语句,如添加、查询、修改、删除记录语句,熟悉数据库连接技术。
2)课程设计论文编写要求
(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准
格式进行书写和装订。
(2)课程设计报告(论文)包括中文摘要、目录、绪论、正文、设计小结、参考文献、附录等;
(3)正文部分应包含系统功能流程图、系统结构框图、模块流程图、设计目的、实现思路、实现步骤、调试运行等。
目录
第一章、系统机构及主要功能…………………………………………………………4
1.1学生信息管理系统的主要功能……………………………………………4
1.2系统的功能模块结构…………………………………………………………4
第二章、数据库设计………………………………………………………………………5
2.1创建数据库用户……………………………………………………………5
2.2数据库逻辑结构设计…………………………………………………………………5
2.3创建表的脚本语言…………………………………………………………………6
第三章、数据库连接………………………………………………………………8
3.1创建数据源……………………………………………………………………………8
3.2数据库连接…………………………………………………………………9
第四章、系统的实现……………………………………………………………………10
4.1主窗体的设计………………………………………………………………10
4.2登录窗体的设计…………………………………………………………………12
4.3背景窗体的设计…………………………………………………………14
4.4班级管理窗体的设计…………………………………………………………………15
4.5课程信息窗体的设计……………………………………………………20
4.6用户信息管理窗体的设计………………………………………………26
4.7奖惩信息管理窗体的设计………………………………………………27
4.8成绩查询窗口的设计……………………………………………………29
4.9学籍信息管理窗口的设计………………………………………………31
4.10个人信息查询窗口的设计………………………………………………25
第五章、运行截图………………………………………………………………41
课程设计总结……………………………………………………………………46
一系统结构及主要功能
1.1学生信息管理系统的主要功能有:
(1)、用户信息管理
可以修改、删除、添加用户;
(2)、班级信息管理
可以添加、修改、删除班级;
(3)、学籍信息管理
可以添加、查询、修改、删除学籍;
(4)、课程信息管理
可以查看各班的课程信息;
(5)、成绩信息管理
可以用一个或几个条件查询、添加、删除,修改成绩;
(6)、奖惩信息管理
可以添加、查询、删除奖惩信息
(7)、个人信息管理
可以查询学生的个人信息。
1.2、系统的功能模块结构如下:
二数据库设计
2.1创建数据库用户
在设计数据库表结构之前,首先要创建一个学生信息管理的数据库用户,这里定义为zengym,所有相关的表都属于这个用户。
创建用户的脚本为:
CREATEuserzengym
identifiedbyzengym
defaulttablespaceusers
temporarytablespacetemp
quota10monusers;
grantcreatesession,resourcetozengym;
这样在设置ODBC时,使用户zengym登录,就可以直接在程序中调用用户zengym的表和视图等数据库对象了。
2.2数据库逻辑结构设计
根据学生信息管理系统的功能要求,选取Oracle为后台数据库,数据库前台控制界面使用VisualBasic6.0来实现。
该数据库由8个表组成。
这8个表包括班级课程信息(class_cour)表、班级信息(class_Form)表、课程信息(course_Form)表、获奖信息(prize_Form)表、获奖学生信息(Prize_Stud)表、学生成绩信息(score_Form)表、学生信息(student_Form)表、用户(user_Form)表。
(1)班级课程信息(class_cour)表
字段名称
字段类型
说明
class_No
number
班级编号
Course_Name
Varchar2(50)
课程名称
(2)班级信息(class_Form)表
字段名称
字段类型
说明
Class_No
number
班级编号
Class_Name
Varchar2(50)
班级名称
Class_teacher
Varchar2(50)
导员名字
Class_Remarks
Varchar2(50)
班级主课程
(3)课程信息(course_Form)表
字段名称
字段类型
说明
Course_name
Varchar2(50)
课程名称
Course_Rem
Varchar2(50)
主课程
(4)奖惩信息(prize_Form)表
字段名称
字段类型
说明
Prize_name
Varchar2(50)
奖惩名称
Prize_Rem
Varchar2(50)
备注
(5)奖惩学生信息(Prize_Stud)表
字段名称
字段类型
说明
Prize_NO
number
奖惩编号
Prize_Stu
number
奖惩学生学号
Prize_Dat
Date
奖惩日期
Prize_Nam
Varchar2(50)
奖惩名称
(6)学生成绩信息(score_Form)表
字段名称
字段类型
说明
Score_No
number
成绩编号
Score_per
Varchar2(50)
成绩类型
Score_Cla
number
班级编号
Score_Stu
number
学生学号
Score_Cou
Varchar2(50)
课程名称
Score_Sco
Varchar2(50)
成绩
(7)学生信息(student_Form)表
字段名称
字段类型
说明
Student_NO
number
学号
student_Name
Varchar2(50)
姓名
student_Sex
Varchar2(5)
性别
student_Bir
Date
出生日期
student_Cla
number
班级编号
student_Tel
Varchar2(50)
联系电话
student_Esd
Date
报名日期
student_Add
Varchar2(50)
家庭地址
student_Rem
Varchar2(50)
备注
(8)用户(user_Form)表
字段名称
字段类型
说明
user_ID
Varchar2(50)
用户名
user_PWD
Varchar2(50)
用户密码
user_DATE
date
登录日期
2.3创建表的脚本语言
(1)班级课程信息(class_cour)表
CREATETABLEzengym.class_Cour
(class_NOnumberPrimaryKey,
course_Namevarchar2(50)
)
TABLESPACEUSERS;
(2)班级信息(class_Form)表
CREATETABLEzengym.class_Form
(class_NonumberPrimaryKey,
class_Namevarchar2(50),
class_Teachervarchar2(50),
class_Remarksvarchar2(50)
)
TABLESPACEUSERS;
(3)课程信息(course_Form)表
CREATETABLEzengym.course_Form
(course_NameVarchar2(50)PrimaryKey,
course_RemVarchar2(50)
)
TABLESPACEUSERS;
(4)奖惩信息(prize_Form)表
CREATETABLEzengym.prize_Form
(prize_namevarchar2(50)PrimaryKey,
prize_RemVarchar2(50)
)
TABLESPACEUSERS;
(5)奖惩学生信息(Prize_Stud)表
CREATETABLEzengym.prize_Stud
(prize_NOnumberPrimaryKey,
prize_Stunumber,
prize_Datdate,
prize_NamVarchar2(50)
)
TABLESPACEUSERS;
(6)学生成绩信息(score_Form)表
CREATETABLEzengym.score_Form
(score_NOnumberPrimaryKey,
score_perVarchar2(50),
score_Clanumber,
score_Stunumber,
score_CouVarchar2(50),
score_ScoVarchar2(50)
)
TABLESPACEUSERS;
(7)学生信息(student_Form)表
CREATETABLEzengym.student_Form
(student_NOnumberPrimaryKey,
student_NameVarchar2(50),
student_SexVarchar2(5),
student_BirDate,
student_Clanumber,
student_TelVarchar2(50),
student_EsdDate,
student_AddVarchar2(50),
student_RemVarchar2(50)
)
TABLESPACEUSERS;
(8)用户(user_Form)表
CREATETABLEzengym.user_Form
(user_IDVarchar2(50)PrimaryKey,
user_PWDVarchar2(50),
user_DATEdate
)
TABLESPACEUSERS;
三数据库连接
3.1、创建数据源
为了能够在程序中访问到数据库House,需要创建系统数据源。
选择“控制面板”→“管理工具”→“数据源”→“系统DSN”标签→“添加”→选择“OracleinOraHome92”数据库驱动程序进入数据库OracleODBCDriverConfiguration配置。
将“DataSourceName”设置为Status,“TNSServiceName”设置为Oracle创建的数据库,“User”设置为zengym,然后点击“TestConncetion”进入测试数据库连接是否连接成功。
测试连接数据库是否成功:
输入密码zengym后显示连接结果
“Password”输入zengym,点击OK测试连接是否成功。
最后就可以在VB中使用“外接程序”→“可视化数据管理”连接数据库。
3.2、数据库连接(在模块modulel.bas中)
PublicFunctionConnectString()AsString
ConnectString="Driver={MicrosoftODBCfororacle};server=gntc;UID=zengym;PWD=zengym;"
EndFunction
PublicFunctionExecuteSQL(ByValSQLAsString,MsgStringAsString)AsADODB.Recordset
DimcnnAsADODB.Connection
DimrstAsADODB.Recordset
DimsTokens()AsString
OnErrorGoToExecuteSQL_Error
sTokens=Split(SQL)
Setcnn=NewADODB.Connection
cnn.OpenConnectString
IfInStr("INSERT,DELETE,UPDATE",UCase$(sTokens(0)))Then
cnn.ExecuteSQL
MsgString=sTokens(0)&"querysuccessful"
Else
Setrst=NewADODB.Recordset
rst.OpenTrim$(SQL),cnn,adOpenKeyset,adLockOptimistic
SetExecuteSQL=rst
MsgString="查询到"&rst.RecordCount&"条记录"
EndIf
ExecuteSQL_Exit:
Setrst=Nothing
Setcnn=Nothing
ExitFunction
ExecuteSQL_Error:
MsgString="查询错误:
"&Err.Description
ResumeExecuteSQL_Exit
EndFunction
四、系统的实现
4.1主窗体的设计
4.1.1主界面是学生信息管理系统的主要窗口,担任着调动程序其他模块的功能,是整个应程序的核心。
在工程中添加一个窗体,命名为“frmMain”。
主界面的主要属性如下:
窗体属性
设置值
具体说明
名称
FrmMain
设置窗体名称
Appearance
1–3D
外观效果
Caption
学生信息管理系统
窗体的标题条文本
Enable
True
窗体可用
Moveable
True
窗体可以移动
negotiateToolbars
True
MDIForm对象在MDIForm的顶部或底部显示活动对象的工具栏
StartUpPosition
0–手动
设置窗体弹出时,位置在屏幕中心
选择“工具”菜单项中的“菜单编辑器”,编辑菜单内容,如下图所示。
菜单项的属性如下:
标题
名称
用户信息管理
cusiMenu
班级信息管理
claiMenu
学籍信息管理
stsiMenu
课程信息管理
couiMenu
成绩信息管理
scoiMenu
奖惩信息管理
prpiMenu
个人信息管理
sumiMenu
帮助
help
主界面如下图所示:
4.1.2窗口代码如下:
PrivateSubclaiMenu_Click()
frmclai.Show
EndSub
PrivateSubcouiMenu_Click()
frmcoui.Show
EndSub
PrivateSubcusiMenu_Click()
frmcusi.Show
EndSub
PrivateSubMDIForm_Load()
dColor.Show
EndSub
PrivateSubMDIForm_Resize()
IfMe.Height>1100Then
dColor.Height=Me.Height-1100
EndIf
IfMe.Width>180Then
dColor.Width=Me.Width-180
EndIf
EndSub
PrivateSubprpiMenu_Click()
frmprpi.Show
EndSub
PrivateSubscoiMenu_Click()
frmscoi.Show
EndSub
PrivateSubstsiMenu_Click()
frmstsi.Show
EndSub
PrivateSubsumiMenu_Click()
frmsumi.Show
EndSub
4.2、登录窗体的设计
4.2.1在工程中添加一个窗体,命名为“frmLogin”。
整个窗体界面的示意图如图所示。
用户要使用本系统,首先要通过系统的身份认证,即需要登录。
登录过程需要完成一下任务:
(1)根据用户名和密码来判断是否能进入系统;
(2)根据用户类型决定用户拥有的权限。
登录界面窗体的主要属性如下。
窗体属性
设置值
具体说明
名称
Label1
设置窗体名称
BorderStyle
1-FixedSingle
设置窗体的边框属性
Caption
登录
窗体的标题条文本
ControlBox
False
取消控制按钮
在登录窗体中添加控件,并设置控件的属性如下表所示:
对象名
属性
属性值
txtPassword
(名称)
txtPassword
txtUserName
Style
0—DropdownCombo
Text
txtUserName
Cmd_Ok
Caption
确定
Cmd_Cancel
Caption
取消
4.2.2编写窗体代码:
PrivateSubForm_Load()
DimiAsInteger
i=0
txtSQL="select*fromuser_Form"
WithtxtUserName
Setmrc=ExecuteSQL(txtSQL,MsgText)
DoWhileNotmrc.EOF
i=i+1
txtUserName.AddItemTrim(mrc!
user_ID)
mrc.MoveNext
Loop
.ListIndex=i-1
EndWith
mrc.Close
OK=False
miCount=0
EndSub
PrivateSubcmdCancel_Click()
OK=False
Me.Hide
EndSub
PrivateSubcmdOK_Click()
txtSQL="select*fromuser_Formwhereuser_ID='"&txtUserName.Text&"'"
Setmrc=ExecuteSQL(txtSQL,MsgText)
Ifmrc.EOF=TrueThen
MsgBox"没有这个用户,请重新输入用户名",vbOKOnly+vbExclamation,"警告"
txtUserName.SetFocus
Else
IfTrim(mrc.Fields
(1))=Trim(txtPassword.Text)Then
OK=True
mrc.Close
Me.Hide
UserName=Trim(txtUserName.Text)
Else
MsgBox"输入的密码不对,请重新输入",vbOKOnly+vbExclamation,"警告"
txtPassword.SetFocus
txtPassword.Text=""
EndIf
EndIf
miCount=miCount+1
IfmiCount=3Then
Me.Hide
EndIf
ExitSub
EndSub
PrivateSubLabel1_Click()
EndSub
PrivateSubtxtPassword_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
EnterToTabKeyCode
EndSub
PrivateSubtxtPassword_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
CallcmdOK_Click
EndIf
EndSub
PrivateSubtxtUserName_Click()
txtPassword.Text=""
EndSub
PrivateSubtxtUserName_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
EnterToTabKeyCode
EndSub
4.3背景窗体的设计
4.3.1在工程中添加一个窗体,命名为“dColor”。
整个窗体的界面设计示意图如下.
dColor窗体上的空间及其属性如下表所示。
窗体属性
设置值
具体说明
名称
dColor
设置窗体名称
MaxButton
True
激活最大化按钮
MinButton
True
激活最小化按钮
ControlBox
True
控制按钮
在登录窗体中添加控件,并设置控件的属性如下表所示:
对象名
属性
属性值
Image1
Picture
(Bitmap)
Image2
Picture
(Bitmap)
Stretch
False
Label1
Caption
欢迎进去学生管理系统
BackColor
0–Transparent
4.3.2编写窗体代码
PrivateSubForm_Load()
Label1.ForeColor=&H8000000E
Lab