Oracle学生信息管理系统.docx
- 文档编号:8520539
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:54
- 大小:959.11KB
Oracle学生信息管理系统.docx
《Oracle学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《Oracle学生信息管理系统.docx(54页珍藏版)》请在冰豆网上搜索。
Oracle学生信息管理系统
oracle数据库学生信息管理系统
数据库源码+实现
一结构及主要功能
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
Label1.FontSize=12
Label1.AutoSize=True
i=Image2.Width
EndSub
PrivateSubForm_Resize()
Image1.Top=0
Image1.Left=0
Image1.Height=Me.Height
Image1.Width=Me.Width
Image2.Top=Me.Height-Image2.Height
Image2.Left=Me.Width-Image2.Width
Label1.Top=Me.Height-Label1.Height-100
EndSub
PrivateSubLabel1_Click()
EndSub
PrivateSubTimer1_Timer()
i=i+50
Label1.Left=Me.Width-i
Ifi>Me.Width+Label1.WidthThen
i=Image2.Width
EndIf
EndSub
4.4班级管理窗体的设计
4.4.1在工程中添加一个窗体,命名为“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
备注
4.4.2编写窗体代码
PrivateSubCommand1_Click()
IfText1(0)=""Then
MsgBox"班级编号不能为空!
",vbOKOnly,"提示"
Text1(0).SetFocus
ExitSub
EndIf
IfText1
(1)=""Then
MsgBox"班级名称不能为空!
",vbOKOnly,"提示"
Text1
(1).SetFocus
ExitSub
EndIf
IfText1
(2)=""Then
MsgBox"导员姓名不能为空!
",vbOKOnly,"提示"
Text1
(2).SetFocus
ExitSub
EndIf
txtSQL="select*fromclass_Formwhereclass_NO='"&Trim(Text1(0))&"'"
Setmrc=ExecuteSQL(txtSQL,MsgText)
Ifmrc.EOF=FalseThen
MsgBox"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 学生 信息管理 系统