VB+oracle学生学籍管理系统.docx
《VB+oracle学生学籍管理系统.docx》由会员分享,可在线阅读,更多相关《VB+oracle学生学籍管理系统.docx(57页珍藏版)》请在冰豆网上搜索。
VB+oracle学生学籍管理系统
课程设计报告册
课程设计报告
设计项目
编号
1
名称
学生信息管理系统
主要
仪器
设备
PC
附属
设备
主要
使用
软件
Oracle、Visual
起止时间
2010年12月10日—12月30日
同组人
无
课程设计任务书
1.本课程设计的目的
掌握Oracle基本内容,了解备份和恢复数据库的方法;基本的Oracle语句,如添加、查询、修改、删除记录语句;VB中数据绑定控件的方法,熟悉数据库连接技术。
2.课程设计的任务及要求
1)基本要求:
要求掌握Oracle的基本概念,了解备份和恢复数据库的方法,基本的Oracle语句,如添加、查询、修改、删除记录语句,熟悉数据库连接技术。
2)课程设计论文编写要求
(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准
格式进行书写和装订。
(2)课程设计报告(论文)包括中文摘要、目录、绪论、正文、设计小结、参考文献、附录等;
(3)正文部分应包含系统功能流程图、系统结构框图、模块流程图、设计目的、实现思路、实现步骤、调试运行等。
第一章、系统机构及主要功能…………………………………………………………4
学生信息管理系统的主要功能……………………………………………4
系统的功能模块结构…………………………………………………………4
第二章、数据库设计………………………………………………………………………5
创建数据库用户……………………………………………………………5
数据库逻辑结构设计…………………………………………………………………5
创建表的脚本语言…………………………………………………………………6
第三章、数据库连接………………………………………………………………8
创建数据源……………………………………………………………………………8
数据库连接…………………………………………………………………9
第四章、系统的实现……………………………………………………………………10
主窗体的设计………………………………………………………………10
登录窗体的设计…………………………………………………………………12
背景窗体的设计…………………………………………………………14
班级管理窗体的设计…………………………………………………………………15
课程信息窗体的设计……………………………………………………20
用户信息管理窗体的设计………………………………………………26
奖惩信息管理窗体的设计………………………………………………27
成绩查询窗口的设计……………………………………………………29
学籍信息管理窗口的设计………………………………………………31
个人信息查询窗口的设计………………………………………………25
第五章、运行截图………………………………………………………………41
一系统结构及主要功能
学生信息管理系统的主要功能有:
(1)、用户信息管理
可以修改、删除、添加用户;
(2)、班级信息管理
可以添加、修改、删除班级;
(3)、学籍信息管理
可以添加、查询、修改、删除学籍;
(4)、课程信息管理
可以查看各班的课程信息;
(5)、成绩信息管理
可以用一个或几个条件查询、添加、删除,修改成绩;
(6)、奖惩信息管理
可以添加、查询、删除奖惩信息
(7)、个人信息管理
可以查询学生的个人信息。
、系统的功能模块结构如下:
二数据库设计
创建数据库用户
在设计数据库表结构之前,首先要创建一个学生信息管理的数据库用户,这里定义为zengym,所有相关的表都属于这个用户。
创建用户的脚本为:
CREATEuserzengym
identifiedbyzengym
defaulttablespaceusers
temporarytablespacetemp
quota10monusers;
grantcreatesession,resourcetozengym;
这样在设置ODBC时,使用户zengym登录,就可以直接在程序中调用用户zengym的表和视图等数据库对象了。
数据库逻辑结构设计
根据学生信息管理系统的功能要求,选取Oracle为后台数据库,数据库前台控制界面使用VisualBasic来实现。
该数据库由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
登录日期
创建表的脚本语言
(1)班级课程信息(class_cour)表
CREATETABLE
(class_NOnumberPrimaryKey,
course_Namevarchar2(50)
)
TABLESPACEUSERS;
(2)班级信息(class_Form)表
CREATETABLE
(class_NonumberPrimaryKey,
class_Namevarchar2(50),
class_Teachervarchar2(50),
class_Remarksvarchar2(50)
)
TABLESPACEUSERS;
(3)课程信息(course_Form)表
CREATETABLE
(course_NameVarchar2(50)PrimaryKey,
course_RemVarchar2(50)
)
TABLESPACEUSERS;
(4)奖惩信息(prize_Form)表
CREATETABLE
(prize_namevarchar2(50)PrimaryKey,
prize_RemVarchar2(50)
)
TABLESPACEUSERS;
(5)奖惩学生信息(Prize_Stud)表
CREATETABLE
(prize_NOnumberPrimaryKey,
prize_Stunumber,
prize_Datdate,
prize_NamVarchar2(50)
)
TABLESPACEUSERS;
(6)学生成绩信息(score_Form)表
CREATETABLE
(score_NOnumberPrimaryKey,
score_perVarchar2(50),
score_Clanumber,
score_Stunumber,
score_CouVarchar2(50),
score_ScoVarchar2(50)
)
TABLESPACEUSERS;
(7)学生信息(student_Form)表
CREATETABLE
(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)表
CREATETABLE
(user_IDVarchar2(50)PrimaryKey,
user_PWDVarchar2(50),
user_DATEdate
)
TABLESPACEUSERS;
三数据库连接
、创建数据源
为了能够在程序中访问到数据库House,需要创建系统数据源。
选择“控制面板”→“管理工具”→“数据源”→“系统DSN”标签→“添加”→选择“OracleinOraHome92”数据库驱动程序进入数据库OracleODBCDriverConfiguration配置。
将“DataSourceName”设置为Status,“TNSServiceName”设置为Oracle创建的数据库,“User”设置为zengym,然后点击“TestConncetion”进入测试数据库连接是否连接成功。
测试连接数据库是否成功:
输入密码zengym后显示连接结果
“Password”输入zengym,点击OK测试连接是否成功。
最后就可以在VB中使用“外接程序”→“可视化数据管理”连接数据库。
、数据库连接(在模块中)
PublicFunctionConnectString()AsString
ConnectString="Driver={MicrosoftODBCfororacle};server=gntc;UID=zengym;PWD=zengym;"
EndFunction
PublicFunctionExecuteSQL(ByValSQLAsString,MsgStringAsString)As
DimcnnAs
DimrstAs
DimsTokens()AsString
OnErrorGoToExecuteSQL_Error
sTokens=Split(SQL)
Setcnn=New
ConnectString
IfInStr("INSERT,DELETE,UPDATE",UCase$(sTokens(0)))Then
SQL
MsgString=sTokens(0)&"querysuccessful"
Else
Setrst=New
Trim$(SQL),cnn,adOpenKeyset,adLockOptimistic
SetExecuteSQL=rst
MsgString="查询到"&&"条记录"
EndIf
ExecuteSQL_Exit:
Setrst=Nothing
Setcnn=Nothing
ExitFunction
ExecuteSQL_Error:
MsgString="查询错误:
"&
ResumeExecuteSQL_Exit
EndFunction
四、系统的实现
主窗体的设计
主界面是学生信息管理系统的主要窗口,担任着调动程序其他模块的功能,是整个应程序的核心。
在工程中添加一个窗体,命名为“frmMain”。
主界面的主要属性如下:
窗体属性
设置值
具体说明
名称
FrmMain
设置窗体名称
Appearance
1–3D
外观效果
Caption
学生信息管理系统
窗体的标题条文本
Enable
True
窗体可用
Moveable
True
窗体可以移动
negotiateToolbars
True
MDIForm对象在MDIForm的顶部或底部显示活动对象的工具栏
StartUpPosition
0–手动
设置窗体弹出时,位置在屏幕中心
选择“工具”菜单项中的“菜单编辑器”,编辑菜单内容,如下图所示。
菜单项的属性如下:
标题
名称
用户信息管理
cusiMenu
班级信息管理
claiMenu
学籍信息管理
stsiMenu
课程信息管理
couiMenu
成绩信息管理
scoiMenu
奖惩信息管理
prpiMenu
个人信息管理
sumiMenu
帮助
help
主界面如下图所示:
窗口代码如下:
PrivateSubclaiMenu_Click()
EndSub
PrivateSubcouiMenu_Click()
EndSub
PrivateSubcusiMenu_Click()
EndSub
PrivateSubMDIForm_Load()
EndSub
PrivateSubMDIForm_Resize()
If>1100Then
=-1100
EndIf
If>180Then
=-180
EndIf
EndSub
PrivateSubprpiMenu_Click()
EndSub
PrivateSubscoiMenu_Click()
EndSub
PrivateSubstsiMenu_Click()
EndSub
PrivateSubsumiMenu_Click()
EndSub
、登录窗体的设计
在工程中添加一个窗体,命名为“frmLogin”。
整个窗体界面的示意图如图所示。
用户要使用本系统,首先要通过系统的身份认证,即需要登录。
登录过程需要完成一下任务:
(1)根据用户名和密码来判断是否能进入系统;
(2)根据用户类型决定用户拥有的权限。
登录界面窗体的主要属性如下。
窗体属性
设置值
具体说明
名称
Label1
设置窗体名称
BorderStyle
1-FixedSingle
设置窗体的边框属性
Caption
登录
窗体的标题条文本
ControlBox
False
取消控制按钮
在登录窗体中添加控件,并设置控件的属性如下表所示:
对象名
属性
属性值
txtPassword
(名称)
txtPassword
txtUserName
Style
0—DropdownCombo
Text
txtUserName
Cmd_Ok
Caption
确定
Cmd_Cancel
Caption
取消
编写窗体代码:
PrivateSubForm_Load()
DimiAsInteger
i=0
txtSQL="select*fromuser_Form"
WithtxtUserName
Setmrc=ExecuteSQL(txtSQL,MsgText)
DoWhileNot
i=i+1
Trim(mrc!
user_ID)
Loop
.ListIndex=i-1
EndWith
OK=False
miCount=0
EndSub
PrivateSubcmdCancel_Click()
OK=False
EndSub
PrivateSubcmdOK_Click()
txtSQL="select*fromuser_Formwhereuser_ID='"&&"'"
Setmrc=ExecuteSQL(txtSQL,MsgText)
If=TrueThen
MsgBox"没有这个用户,请重新输入用户名",vbOKOnly+vbExclamation,"警告"
Else
IfTrim
(1))=TrimThen
OK=True
UserName=Trim
Else
MsgBox"输入的密码不对,请重新输入",vbOKOnly+vbExclamation,"警告"
=""
EndIf
EndIf
miCount=miCount+1
IfmiCount=3Then
EndIf
ExitSub
EndSub
PrivateSubLabel1_Click()
EndSub
PrivateSubtxtPassword_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
EnterToTabKeyCode
EndSub
PrivateSubtxtPassword_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
CallcmdOK_Click
EndIf
EndSub
PrivateSubtxtUserName_Click()
=""
EndSub
PrivateSubtxtUserName_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
EnterToTabKeyCode
EndSub
背景窗体的设计
在工程中添加一个窗体,命名为“dColor”。
整个窗体的界面设计示意图如下.
dColor窗体上的空间及其属性如下表所示。
窗体属性
设置值
具体说明
名称
dColor
设置窗体名称
MaxButton
True
激活最大化按钮
MinButton
True
激活最小化按钮
ControlBox
True
控制按钮
在登录窗体中添加控件,并设置控件的属性如下表所示:
对象名
属性
属性值
Image1
Picture
(Bitmap)
Image2
Picture
(Bitmap)
Stretch
False
Label1
Caption
欢迎进去学生管理系统
BackColor
0–Transparent
编写窗体代码
PrivateSubForm_Load()
=&H8000000E
=12
=True
i=
EndSub
PrivateSubForm_Resize()
=0
=0
=
=
=-
=-
=--100
EndSub
PrivateSubLabel1_Click()
EndSub
PrivateSubTimer1_Timer()
i=i+50
=-i
Ifi>+Then
i=
EndIf
EndSub
班级管理窗体的设计
在工程中添加一个窗体,命名为“frmclai”。
整个窗体界面示意图如图所示。
frmclai窗体上的的主要属性和控件设置如下:
对象名
属性
属性值
Frmclai
Caption
班级信息
Minbutton
True
LinkTopic
Form1
HacDC
True
MSFlexGrid1
DragMode
0–vbManual
Label1
Caption
班级信息列表
Label2(0)
Caption
添加
Label2
(1)
Caption
修改
Label2
(2)
Caption
删除
Label3(0)
Caption
班级编号
Label3
(1)
Caption
班级名称
Label3
(2)
Caption
导员姓名
Label3(3)
Caption
备注
编写窗体代码
PrivateSubCommand1_Click()
IfText1(0)=""Then
MsgBox"班级编号不能为空!
",vbOKOnly,"提示"
Text1(0).SetFocus
ExitSub
EndIf
IfText1
(1)=""Then
MsgBox"班级名称不能为空!
",vbOKOnly,"提示"
Text1
(1).Set