Oracle学生信息管理系统.docx

上传人:小飞机 文档编号:4887060 上传时间:2023-05-21 格式:DOCX 页数:40 大小:829.12KB
返回 下载 相关 举报
Oracle学生信息管理系统.docx_第1页
第1页 / 共40页
Oracle学生信息管理系统.docx_第2页
第2页 / 共40页
Oracle学生信息管理系统.docx_第3页
第3页 / 共40页
Oracle学生信息管理系统.docx_第4页
第4页 / 共40页
Oracle学生信息管理系统.docx_第5页
第5页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Oracle学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《Oracle学生信息管理系统.docx(40页珍藏版)》请在三一办公上搜索。

1、oracle数据库学生信息管理系统数据库源碍实现一结构及主要功能1.1学生信息管理系统的主要功能有:(1)、用户信息管理可以修改、删除、添加用户;(2)、班级信息管理可以添加、修改、删除班级;(3)、学籍信息管理可以添加、查询、修改、删除学籍;(4)、课程信息管理可以查看各班的课程信息;(5)、成绩信息管理可以用一个或几个条件查询、添加、删除,修改成绩;(6)、奖惩信息管理可以添加、查询、删除奖惩信息(7)、个人信息管理可以查询学生的个人信息。1.2、系统的功能模块结构如下:学生信息管理系统-T人信息管理奖惩信息管理成魅信息管理课程信息管理学籍信息管理班皱信息管理用P信息管理二数据库设计2.1

2、创建数据库用户在设计数据库表结构之前,首先要创建一个学生信息管理的数据库用户,这里定 义为zengym,所有相关的表都属于这个用户。创建用户的脚本为:CREATE user zengymidentified by zengymdefault tablespace userstemporary tablespace tempquota 10m on users;grant create session,resource to zengym;这样在设置ODBC时,使用户zengym登录,就可以直接在程序中调用用户 zengym的表和视图等数据库对象了。2.2数据库逻辑结构设计根据学生信息管理系统的

3、功能要求,选取Oracle为后台数据库,数据库前台控 制界面使用Visual Basic 6.0来实现。该数据库由8个表组成。这8个表包括班级课程信息(class cour)表、班级信息(class_Form )表、课程信息(course_Form )表、获奖信息(prize_Form )表、获奖 学生信息(Prize_Stud)表、学生成绩信息(score_Form)表、学生信息 (student_Form )表、用户(user_Form)表。(1)班级课程信息(class_cour)表字段名称字段类型说明class_Nonumber班级编号Course_NameVarchar2(50)课程

4、名称(2)班级信息(class_Form)表字段名称字段类型说明Class_Nonumber班级编号Class_NameVarchar2(50)班级名称Class_teacherVarchar2(50)导员名字Class_RemarksVarchar2(50)班级主课程(3)课程信息(course_Form)表字段名称字段类型说明Course_nameVarchar2(50)课程名称Course_RemVarchar2(50)主课程(4)奖惩信息(prize_Form)表字段名称字段类型说明Prize_nameVarchar2(50)奖惩名称Prize_RemVarchar2(50)备注(5)

5、奖惩学生信息(Prize_Stud)表字段名称字段类型说明Prize_NOnumber奖惩编号Prize_Stunumber奖惩学生学号Prize_DatDate奖惩日期Prize_NamVarchar2(50)奖惩名称(6)学生成绩信息(score_Form)表字段名称字段类型说明Score_Nonumber成绩编号Score_perVarchar2(50)成绩类型Score_Clanumber班级编号Score_Stunumber学生学号Score_CouVarchar2(50)课程名称Score_ScoVarchar2(50)成绩(7)学生信息(student_Form )表字段名称字段

6、类型说明Student_NOnumber学号student_NameVarchar2(50)姓名student_SexVarchar2(5)性别student_BirDate出生日期student_Clanumber班级编号student_TelVarchar2(50)联系电话student_EsdDate报名日期student_AddVarchar2(50)家庭地址student_RemVarchar2(50)备注(8)用户(user_Form )表字段名称字段类型说明user_IDVarchar2(50)用户名user_PWDVarchar2(50)用户密码user_DATEdate登录日

7、期2.3创建表的脚本语言(1) 班级课程信息(class_cour)表 CREATE TABLE zengym.class_Cour(class_NO number Primary Key, course_Name varchar2(50) TABLESPACE USERS;(2) 班级信息(class_Form)表 CREATE TABLE zengym.class_Form(class_No number Primary Key, class_Name varchar2(50), class_Teacher varchar2(50), class_Remarks varchar2(50)

8、TABLESPACE USERS;(3) 课程信息(course_Form)表 CREATE TABLE zengym.course_Form(course_Name Varchar2(50) Primary Key, course_Rem Varchar2(50)TABLESPACE USERS;(4) 奖惩信息(prize_Form)表 CREATE TABLE zengym.prize_Form(prize_name varchar2(50) Primary Key, prize_Rem Varchar2(50) ) TABLESPACE USERS;(5) 奖惩学生信息(Prize_S

9、tud)表 CREATE TABLE zengym.prize_Stud(prize_NO number Primary Key, prize_Stu number, prize_Dat date, prize_Nam Varchar2(50) ) TABLESPACE USERS;(6) 学生成绩信息(score_Form)表CREATE TABLE zengym.score_Form(score_NO number Primary Key,score_per Varchar2(50),score_Cla number,score_Stu number,score_Cou Varchar2(

10、50),score_Sco Varchar2(50)TABLESPACE USERS;(7) 学生信息(student_Form)表CREATE TABLE zengym.student_Form(student_NO number Primary Key,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 Varcha

11、r2(50)TABLESPACE USERS;(8) 用户(user_Form)表CREATE TABLE zengym.user_Form(user_ID Varchar2(50) Primary Key,user_PWD Varchar2(50),user_DATE date)TABLESPACE USERS;三数据库连接3.1、创建数据源为了能够在程序中访问到数据库House,需要创建系统数据源。选择“控制面板”一“管理工具”一“数据源”一“系统DSN”标签一 “添加一选择“Oracle in OraHome92”数据库驱动程序进入数据库Oracle ODBC Driver Config

12、uration 配置。将“Data Source Name设置为 Status, “TNS Service Name设置为 Oracle创建的数据库,“User设置为zengym,然后点击“Test Conncetion 进入测试数据库连接是否连接成功。OKData Sonfize N:iiti eStatusDescrip tii:mCsilLCylTffS Servi ce H:ajn eGNTC,HelpTest C:iriTLecti o:CSJLgJTl|UserAppl i cat ion 口 rm已 | 瞿 rkarp 口 姑5QU /eejt M i gr M i n Tran

13、吼tiBi QptimwlErLablt! RtjEult St=teEniblt! QiitjryRwadTlnly CgniLwetijl-Enable Cl051 ng Cirrzul-Enable Tlifead S=xft7 SQL:etri:it a Ek tens i :.n|Eat 吐l kutscciFirrii t MoMCoTirrii +. ijrily i :=ill st :+em erLtz suec epd测试连接数据库是否成功:输入密码zengym后显示连接结果Dra d e! ODBC Driver1 Co n 11 e ctService NmeGNTCU

14、ser NamesengyrriPasswordGHTC“Password”输入zengym,点击OK测试连接是否成功。最后就可以在VB 中使用“外接程序”一 “可视化数据管理”连接数据库。3.2、数据库连接(在模块modulel.bas中)Public Function ConnectString() As StringConnectString = Driver=Microsoft ODBC fororacle;server二gntc;UID二zengym;PWD二zengym;End FunctionPublic Function ExecuteSQL(ByVal SQL As Stri

15、ng, MsgString As String) AsADODB.RecordsetDim cnn As ADODB.ConnectionDim rst As ADODB.RecordsetDim sTokens() As StringOn Error GoTo ExecuteSQL_ErrorsTokens = Split(SQL)Set cnn = New ADODB.Connectioncnn.Open ConnectStringIf InStr(INSERT,DELETE,UPDATE,UCase$(sTokens(0) Then cnn.Execute SQLMsgString =

16、sTokens(0) & query successfulElseSet rst = New ADODB.Recordsetrst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimisticSet ExecuteSQL = rstMsgString =查询到& rst.RecordCount & 条记录End IfExecuteSQL_Exit:Set rst = NothingSet cnn = NothingExit FunctionExecuteSQL_Error:MsgString =”查询错误:& Err.DescriptionResum

17、e ExecuteSQL_ExitEnd Function四、系统的实现4.1主窗体的设计4.1.1主界面是学生信息管理系统的主要窗口,担任着调动程序其他模块的 功能,是整个应程序的核心。在工程中添加一个窗体,命名为“frmMain”。主界面的主要属性如下:窗体属性设置值具体说明名称FrmMain设置窗体名称Appearance1 - 3D外观效果Caption学生信息管理系统窗体的标题条文本EnableTrue窗体可用MoveableTrue窗体可以移动negotiateToolbarsTrueMDIForm对象在MDIForm的顶部 或底部显示活动对象的工具栏StartUpPosition

18、0 手动设置窗体弹出时,位置在屏幕中心选择“工具”菜单项中的“菜单编辑器”,编辑菜单内容,如下图所示。单x标取():瞬13昌匪爵名称曜:|cusiWsitu索引堡): I快建涯国:帮助上下文ID如;|0协调位置 ;口显示窗口列表皿下一个俱)|删除1)复选口 0有效但) 0可见叩用户信息管理理涅理理理询 管管管管管查 息息息息息息 信信信信信信 藉程毓惩人助 班学棵成奖个帮菜单项的属性如下:标题名称用户信息管理cusiMenu班级信息管理claiMenu学籍信息管理stsiMenu课程信息管理couiMenu成绩信息管理scoiMenu奖惩信息管理prpiMenu个人信息管理sumiMenu帮助

19、help主界面如下图所示:4.1. 2窗口代码如下:Private Sub claiMenu_Click() frmclai.ShowEnd SubPrivate Sub couiMenu_Click() frmcoui.ShowEnd SubPrivate Sub cusiMenu_Click() frmcusi.ShowEnd SubPrivate Sub MDIForm_Load()dColor.ShowEnd SubPrivate Sub MDIForm_Resize()If Me.Height 1100 Then dColor.Height = Me.Height 1100End I

20、fIf Me.Width 180 Then dColor.Width = Me.Width 180End IfEnd SubPrivate Sub prpiMenu_Click() frmprpi.ShowEnd SubPrivate Sub scoiMenu_Click()frmscoi.ShowEnd SubPrivate Sub stsiMenu_Click()frmstsi.ShowEnd SubPrivate Sub sumiMenu_Click()frmsumi.ShowEnd Sub4.2、登录窗体的设计4.2.1在工程中添加一个窗体,命名为“frmLogin”。 整个窗体界面的

21、示意图如图所示。用户要使用本系统,首先要通过系统的身份认证,即需要登录。登录过程需要完 成一下任务:(1)根据用户名和密码来判断是否能进入系统;(2)根据用户类型 决定用户拥有的权限。登录界面窗体的主要属性如下。窗体属性设置值具体说明名称Label1设置窗体名称BorderStyle1-Fixed Single设置窗体的边框属性Caption登录窗体的标题条文本ControlBoxFalse取消控制按钮在登录窗体中添加控件,并设置控件的属性如下表所示:对象名属性属性值txtPassword(名称)txtPasswordtxtUserNameStyle0Dropdown ComboTexttxt

22、UserNameCmd_OkCaption确定Cmd_CancelCaption取消4.2.2编写窗体代码:Private Sub Form_Load()Dim i As Integer i = 0txtSQL = select * from user_FormWith txtUserNameSet mrc = ExecuteSQL(txtSQL, MsgText) Do While Not mrc.EOF i = i + 1 txtUserName.AddItem Trim(mrc!user_ID) mrc.MoveNext Loop .ListIndex = i - 1 End With

23、mrc.Close OK = False miCount = 0 End Sub Private Sub cmdCancel_Click() OK = False Me.Hide End Sub Private Sub cmdOK_Click() txtSQL = select * from user_Form where user_ID = txtUserName.Text & ”Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = True ThenMsgBox ”没有这个用户,请重新输入用户名”,vbOKOnly + vbExclamati

24、on, 警告 txtUserName.SetFocusElse If Trim(mrc.Fields(1) = Trim(txtPassword.Text) Then OK = True mrc.Close Me.Hide UserName = Trim(txtUserName.Text) ElseMsgBox ”输入的密码不对,请重新输入,vbOKOnly + vbExclamation,警告EndEnd If miCountIf miCountMe.HideEnd If Exit Sub=miCount + 1=3 ThentxtPassword.SetFocus txtPassword.

25、Text = IfEnd SubPrivate Sub Label1_Click()End SubPrivate Sub txtPassword_KeyDown(KeyCode As Integer, Shift As Integer)EnterToTab KeyCodeEnd SubPrivate Sub txtPassword_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenCall cmdOK_ClickEnd IfEnd SubPrivate Sub txtUserName_Click()txtPassword.Text = End

26、SubPrivate Sub txtUserName_KeyDown(KeyCode As Integer, Shift As Integer) EnterToTab KeyCodeEnd Sub4.3背景窗体的设计4.3.1在工程中添加一个窗体,命名为“dColor”。 整个窗体的界面设计示意图如下.dColor窗体上的空间及其属性如下表所示。窗体属性设置值具体说明名称dColor设置窗体名称MaxButtonTrue激活最大化按钮MinButtonTrue激活最小化按钮ControlBoxTrue控制按钮在登录窗体中添加控件,并设置控件的属性如下表所示:对象名属性属性值ImagelPict

27、ure(Bitmap)Image2Picture(Bitmap)StretchFalseLabellCaption欢迎进去学生管理系统BackColor0 - Transparent4.3.2编写窗体代码Private Sub Form_Load()Labell.ForeColor = &H8000000ELabel1.FontSize = 12Label1.AutoSize = Truei = Image2.WidthEnd SubPrivate Sub Form_Resize()Image1.Top = 0Image1.Left = 0Image1.Height = Me.HeightIm

28、age1.Width = Me.WidthImage2.Top = Me.Height - Image2.HeightImage2.Left = Me.Width - Image2.WidthLabel1.Top = Me.Height - Label1.Height - 100End SubPrivate Sub Label1_Click()End SubPrivate Sub Timer1_Timer()i = i + 50Label1.Left = Me.Width - iIf i Me.Width + Label1.Width Theni = Image2.WidthEnd IfEnd

29、 Sub4.4班级管理窗体的设计4.4. 1在工程中添加一个窗体,命名为“frmclai”。整个窗体界面示意图如图所示。frmclai窗体上的的主要属性和控件设置如下:对象名属性属性值FrmclaiCaption班级信息MinbuttonTrueLinkTopicForm1HacDCTrueMSFlexGridlDragMode0 wbManualLabellCaption班级信息列表Label2 (0)Caption添加Label2 (1)Caption修改Label2 (2)Caption删除Label3 (0)Caption班级编号Label3 (1)Caption班级名称Label3

30、(2)Caption导员姓名Label3 (3)Caption备注4.4.2编写窗体代码Private Sub Command1_Click()If Text1(0) = ThenMsgBox 班级编号不能为空! , vbOKOnly, 提示 Text1(0).SetFocus Exit SubEnd IfIf Text1(1) = ThenMsgBox 班级名称不能为空! , vbOKOnly,提示 Text1(1).SetFocus Exit SubEnd IfIf Text1(2) = ThenMsgBox ”导员姓名不能为空! , vbOKOnly,提示 Text1(2).SetFoc

31、us Exit SubEnd IftxtSQL = select * from class_Form where class_NO=& Trim(Text1(0) & Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = False ThenMsgBox 此班级编号已经存在! , vbOKOnly,警告 Text1(0).SetFocus Exit SubEnd Ifmrc.ClosetxtSQL = select * from class_FormSet mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNewmr

32、c.Fields(0) = Trim(Text1(0)mrc.Fields(l) = Trim(Text1(1)mrc.Fields(2) = Trim(Text1(2)mrc.Fields(3) = Trim(Text1(3)mrc.Updatemrc.CloseFor i = 0 To 3Text1(i)= NextMsgBox 班级信息添加成功! ,vbOKOnly, 提示ShowDataEnd SubPrivate Sub Command2_Click()For i = 0 To 3Text1(i)= NextEnd SubPrivate Sub Command5_Click()txt

33、SQL = delete from class_Form where class_NO= & Trim(Text1(8) & Set mrc = ExecuteSQL(txtSQL, MsgText)For i = 8 To 11Text1(i)= NextMsgBox 班级已经删除! ,vbOKOnly, 警告ShowDataEnd SubPrivate Sub Command6_Click()For i = 8 To 11Text1(i)= NextEnd SubPrivate Sub Form_Load()Me.Caption = 班级信息一添 加Picture1(1).Top = Pi

34、cture1(0).TopPicture1(1).Left = Picture1(0).LeftPicture1(2).Top = Picture1(0).TopPicture1(2).Left = Picture1(0).LeftShowDataFor i = 0 To 2Label2(i).BackColor = &HE0E0E0Picture1(i).Visible = FalseNextLabel2(0).BackColor = &HFFFFFFPicture1(0).Visible = TrueEnd SubPrivate Sub Form_Resize()dColor.ZOrder

35、 1End SubPrivate Sub Label2_Click(Index As Integer)Me.Caption = 班级信息Me.Caption = Me.Caption & - & Trim(Label2(Index).Caption)For i = 0 To 2Label2(i).BackColor = &HE0E0E0Picture1(i).Visible = FalseNextLabel2(Index).BackColor = &HFFFFFFPicture1(Index).Visible = TrueFor i = 0 To 11Text1(i)= NextCommand

36、3.Enabled = FalseCommand5.Enabled = FalseEnd SubPrivate Sub ShowData()Dim txSQL As StringDim mrcc As ADODB.RecordsettxSQL = select * from class_FormSet mrcc = ExecuteSQL(txSQL, MsgText)With MSFlexGrid1.ColWidth(0) = 1200.ColWidth(1) = 1200.ColWidth(2) = 1200.ColWidth(3) = 6000.TextMatrix(0, 0)= 班级编号

37、.TextMatrix(0, 1)= 班级名称.TextMatrix(0, 2)= 导员姓名.TextMatrix(0, 3)= 备注信息C.Rows = 1Do While Not mrcc.EOF.Rows = .Rows + 1For i = 0 To mrcc.Fields.Count 1.TextMatrix(.Rows - 1, i) = mrcc.Fields(i) & Next i mrcc.MoveNextLoopEnd With mrcc.CloseEnd SubPrivate Sub MSFlexGrid1_Click()If Picture1(1).Visible =

38、True ThenText1(4) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0)Text1(5) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1)Text1(6) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2)Text1(7) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) Command3.Enabled = TrueEnd IfIf Picture1(2).Visible = True

39、 ThenText1(8) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0)Text1(9) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1)Text1(10) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2)Text1(11) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) Command5.Enabled = TrueEnd IfEnd SubPrivate Sub Text1_Change

40、(Index As Integer)If Index = 4 ThentSQL = select * from class_Form where class_NO= & Trim(Text1(Index) & Set mrc = ExecuteSQL(tSQL, MsgText) If mrc.EOF = False ThenText1(5) = mrc.Fields(1)Text1(6) = mrc.Fields(2)Text1(7) = mrc.Fields(3) Command3.Enabled = True Exit SubElseText1(5)=Text1(6)=Text1(7)=

41、Command3.Enabled = FalseEnd If mrc.Close End IfIf Index = 8 ThentSQL = select * from class_Form where class_NO= & Trim(Text1(Index) & Set mrc = ExecuteSQL(tSQL, MsgText) If mrc.EOF = False ThenText1(9) = mrc.Fields(1)Text1(10) = mrc.Fields(2)Text1(11) = mrc.Fields(3)Command5.Enabled = TrueExit SubEl

42、seText1(9)= Text1(10)= Text1(11)= Command5.Enabled = FalseEnd Ifmrc.CloseEnd IfEnd SubPrivate Sub Text1_GotFocus(Index As Integer)Text1(Index).SelStart = 0Text1(Index).SelLength = Len(Text1(Index)End SubPrivate Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift AsInteger)EnterToTab KeyCod

43、eEnd Sub4.5课程信息窗体的设计4.5. 1在工程中添加一个窗体,命名为“frmcoui”。 整个窗体界面如下所示。Frmcoui窗体的主要控件和属性设置如下对象名属性属性值ComcolTextCombolList1(名称)密码TxtUserTextList1FrmcouiCaption课程信息StartUpPosition0 -手动Command1Caption添加Command2Caption删除4.5.2添加窗体代码Private Sub Combo1_Click()List1TextEnd SubPrivate Sub Command1_Click()Dim txtSQL As StringIf Text1(0) = ThenMsgBox 课程名称不能为空,vbOKOnly, 提示 Text1(0).SetFocus Exit SubEnd IftxtSQL = select * from course_Form where course_Name= & Trim(Text1(0) & Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = False ThenMsgBox ”此课程名称已经存在! , vbOKOnly,警告 Text1(0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号