Oracle+Visual Basic60学生信息管理系统_第1页
Oracle+Visual Basic60学生信息管理系统_第2页
Oracle+Visual Basic60学生信息管理系统_第3页
Oracle+Visual Basic60学生信息管理系统_第4页
Oracle+Visual Basic60学生信息管理系统_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告册代码及程序,如有需要,可以百度上联系我,便宜出售 课程设计名称:大型数据库Oracle 专 业:班 级: 学 号: 姓 名: 指 导 老 师 : 课程设计报告设计项目编 号1名 称 学生信息管理系统主要仪器设备PC附属设备主要使用软件Oracle、Visual Basic6.0起止时间2010年 12月 10 日12月30日 同组人无课程设计任务书1. 本课程设计的目的掌握Oracle基本内容,了解备份和恢复数据库的方法;基本的Oracle语句,如添加、查询、修改、删除记录语句;VB中数据绑定控件的方法,熟悉数据库连接技术。2课程设计的任务及要求1)基本要求:要求掌握Oracle

2、的基本概念,了解备份和恢复数据库的方法,基本的Oracle语句,如添加、查询、修改、删除记录语句, 熟悉数据库连接技术。2)课程设计论文编写要求(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订。(2)课程设计报告(论文)包括中文摘要、目录、绪论、正文、设计小结、参考文献、附录等;(3)正文部分应包含系统功能流程图、系统结构框图、模块流程图、设计目的、实现思路、实现步骤、调试运行等。目录第一章、系统机构及主要功能4 1.1学生信息管理系统的主要功能 4 1.2系统的功能模块结构4第二章、数据库设计5 2.1 创建数据库用户 5 2.2数据库逻辑结构设计5

3、 2.3 创建表的脚本语言 6第三章、数据库连接83.1创建数据源 8 3.2 数据库连接 9第四章、系统的实现 10 4.1主窗体的设计 104.2 登录窗体的设计 12 4.3背景窗体的设计 14 4.4班级管理窗体的设计 154.5课程信息窗体的设计 204.6用户信息管理窗体的设计 264.7奖惩信息管理窗体的设计 274.8成绩查询窗口的设计 294.9学籍信息管理窗口的设计 314.10个人信息查询窗口的设计 25第五章、运行截图 41课程设计总结 46一 系统结构及主要功能1.1学生信息管理系统的主要功能有:(1)、用户信息管理 可以修改、删除、添加用户;(2)、班级信息管理可以

4、添加、修改、删除班级;(3)、学籍信息管理可以添加、查询、修改、删除学籍;(4)、课程信息管理可以查看各班的课程信息;(5)、成绩信息管理可以用一个或几个条件查询、添加、删除,修改成绩;(6)、奖惩信息管理可以添加、查询、删除奖惩信息(7)、个人信息管理可以查询学生的个人信息。1.2、系统的功能模块结构如下:二 数据库设计2.1创建数据库用户在设计数据库表结构之前,首先要创建一个学生信息管理的数据库用户,这里定义为zengym,所有相关的表都属于这个用户。创建用户的脚本为: CREATE user zengymidentified by zengymdefault tablespace use

5、rstemporary tablespace tempquota 10m on users;grant create session,resource to zengym;这样在设置ODBC时,使用户zengym登录,就可以直接在程序中调用用户zengym的表和视图等数据库对象了。2.2数据库逻辑结构设计根据学生信息管理系统的功能要求,选取Oracle为后台数据库,数据库前台控制界面使用Visual Basic 6.0来实现。该数据库由8个表组成。这8个表包括班级课程信息(class_cour)表、班级信息(class_Form)表、课程信息(course_Form)表、获奖信息(prize_

6、Form)表、获奖学生信息(Prize_Stud)表、学生成绩信息(score_Form)表、学生信息(student_Form)表、用户(user_Form)表。(1)班级课程信息(class_cour)表字段名称字段类型说明class_No number 班级编号 Course_NameVarchar2(50)课程名称 (2)班级信息(class_Form)表字段名称字段类型说明Class_No number班级编号 Class_NameVarchar2(50)班级名称 Class_teacherVarchar2(50)导员名字 Class_RemarksVarchar2(50)班级主课程

7、(3)课程信息(course_Form)表字段名称字段类型说明Course_name Varchar2(50)课程名称 Course_RemVarchar2(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)学生成绩

8、信息(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 出生日

9、期 student_Cla number 班级编号 student_Tel Varchar2(50) 联系电话 student_Esd Date 报名日期student_AddVarchar2(50)家庭地址 student_Rem Varchar2(50) 备注(8)用户(user_Form)表字段名称字段类型说明user_ID Varchar2(50) 用户名 user_PWD Varchar2(50) 用户密码 user_DATE date 登录日期2.3创建表的脚本语言(1)班级课程信息(class_cour)表CREATE TABLE zengym.class_Cour (class

10、_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) )TABLESPACE USERS;(3)课程信息(course_Form)表CREATE TABLE zengym.course_Form (cour

11、se_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_Stud)表CREATE TABLE zengym.prize_Stud (prize_NO number Primary Key,prize_Stu number

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

13、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 Varchar2(50) )TABLESPACE USERS;(8)用户(user_Form)表CREATE TABLE zengym.user_Form (user_ID Varc

14、har2(50) Primary Key,user_PWD Varchar2(50),user_DATE date )TABLESPACE USERS;三 数据库连接3.1、创建数据源为了能够在程序中访问到数据库House,需要创建系统数据源。选择“控制面板”“管理工具”“数据源”“系统DSN”标签“添加”选择“Oracle in OraHome92”数据库驱动程序进入数据库Oracle ODBC Driver Configuration配置。 将“Data Source Name”设置为Status,“TNS Service Name”设置为Oracle创建的数据库 ,“User”设置为ze

15、ngym,然后点击“Test Conncetion”进入测试数据库连接是否连接成功。测试连接数据库是否成功: 输入密码zengym后显示连接结果 “Password”输入zengym,点击OK测试连接是否成功。最后就可以在VB中使用“外接程序”“可视化数据管理”连接数据库。3.2、数据库连接(在模块modulel.bas中)Public Function ConnectString() As StringConnectString = "Driver=Microsoft ODBC for oracle;server=gntc;UID=zengym;PWD=zengym;"E

16、nd FunctionPublic Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim sTokens() As String On Error GoTo ExecuteSQL_Error sTokens = Split(SQL) Set cnn = New ADODB.Connection cnn.Open ConnectStringIf InStr("IN

17、SERT,DELETE,UPDATE", UCase$(sTokens(0) Then cnn.Execute SQL MsgString = sTokens(0) & " query successful" Else Set rst = New ADODB.Recordset rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic Set ExecuteSQL = rst MsgString = "查询到" & rst.RecordCount & "

18、条记录 " End IfExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit FunctionExecuteSQL_Error: MsgString = "查询错误: " & Err.Description Resume ExecuteSQL_ExitEnd Function四、系统的实现4.1主窗体的设计4.1.1主界面是学生信息管理系统的主要窗口,担任着调动程序其他模块的功能,是整个应程序的核心。在工程中添加一个窗体,命名为“frmMain”。主界面的主要属性如下:窗体属性设置值具体说明 名

19、称 FrmMain设置窗体名称Appearance1 3D外观效果 Caption 学生信息管理系统窗体的标题条文本 Enable True窗体可用 Moveable True窗体可以移动negotiateToolbarsTrueMDIForm 对象在 MDIForm 的顶部或底部显示活动对象的工具栏 StartUpPosition 0 手动设置窗体弹出时,位置在屏幕中心选择“工具”菜单项中的“菜单编辑器”,编辑菜单内容,如下图所示。菜单项的属性如下:标题 名称用户信息管理cusiMenu班级信息管理claiMenu学籍信息管理stsiMenu课程信息管理couiMenu成绩信息管理scoiM

20、enu奖惩信息管理prpiMenu个人信息管理sumiMenu帮助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 T

21、hen dColor.Height = Me.Height - 1100 End If If Me.Width > 180 Then dColor.Width = Me.Width - 180 End IfEnd SubPrivate Sub prpiMenu_Click() frmprpi.ShowEnd SubPrivate Sub scoiMenu_Click() frmscoi.ShowEnd SubPrivate Sub stsiMenu_Click() frmstsi.ShowEnd SubPrivate Sub sumiMenu_Click() frmsumi.ShowEn

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

23、d(名称)txtPasswordtxtUserNameStyle0Dropdown ComboTexttxtUserNameCmd_OkCaption确定Cmd_CancelCaption取消4.2.2编写窗体代码:Private Sub Form_Load() Dim i As Integer i = 0 txtSQL = "select * from user_Form" With txtUserName Set mrc = ExecuteSQL(txtSQL, MsgText) Do While Not mrc.EOF i = i + 1 txtUserName.Ad

24、dItem Trim(mrc!user_ID) mrc.MoveNext Loop .ListIndex = i - 1 End With mrc.Close OK = False miCount = 0End SubPrivate Sub cmdCancel_Click() OK = False Me.HideEnd SubPrivate Sub cmdOK_Click() txtSQL = "select * from user_Form where user_ID = '" & txtUserName.Text & "'&qu

25、ot; Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = True Then MsgBox "没有这个用户,请重新输入用户名", vbOKOnly + vbExclamation, "警告" txtUserName.SetFocus Else If Trim(mrc.Fields(1) = Trim(txtPassword.Text) Then OK = True mrc.Close Me.Hide UserName = Trim(txtUserName.Text) Else MsgBox "

26、输入的密码不对,请重新输入", vbOKOnly + vbExclamation, "警告" txtPassword.SetFocus txtPassword.Text = "" End If End If miCount = miCount + 1 If miCount = 3 Then Me.Hide End If Exit SubEnd SubPrivate Sub Label1_Click()End SubPrivate Sub txtPassword_KeyDown(KeyCode As Integer, Shift As Integ

27、er) EnterToTab KeyCodeEnd SubPrivate Sub txtPassword_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call cmdOK_Click End IfEnd SubPrivate Sub txtUserName_Click() txtPassword.Text = ""End SubPrivate Sub txtUserName_KeyDown(KeyCode As Integer, Shift As Integer) EnterToTab KeyCodeEnd Sub

28、4.3背景窗体的设计4.3.1在工程中添加一个窗体,命名为“dColor”。整个窗体的界面设计示意图如下. dColor窗体上的空间及其属性如下表所示。窗体属性 设置值 具体说明 名称dColor设置窗体名称MaxButtonTrue激活最大化按钮MinButtonTrue激活最小化按钮ControlBoxTrue控制按钮在登录窗体中添加控件,并设置控件的属性如下表所示:对象名属性属性值Image1Picture(Bitmap)Image2Picture(Bitmap)StretchFalseLabel1Caption欢迎进去学生管理系统BackColor0 Transparent4.3.2编

29、写窗体代码Private Sub Form_Load() Label1.ForeColor = &H8000000E Label1.FontSize = 12 Label1.AutoSize = True i = Image2.WidthEnd SubPrivate Sub Form_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 -

30、 Image2.Width Label1.Top = Me.Height - Label1.Height - 100End SubPrivate Sub Label1_Click()End SubPrivate Sub Timer1_Timer() i = i + 50 Label1.Left = Me.Width - i If i > Me.Width + Label1.Width Then i = Image2.Width End IfEnd Sub4.4班级管理窗体的设计4.4.1在工程中添加一个窗体,命名为“frmclai”。整个窗体界面示意图如图所示。frmclai窗体上的的主

31、要属性和控件设置如下: 对象名属性属性值 FrmclaiCaption班级信息MinbuttonTrueLinkTopicForm1HacDCTrueMSFlexGrid1DragMode0 vbManualLabel1Caption班级信息列表Label2(0)Caption添加Label2(1)Caption修改Label2(2)Caption删除Label3(0)Caption班级编号Label3(1)Caption班级名称Label3(2)Caption导员姓名Label3(3)Caption备注4.4.2编写窗体代码Private Sub Command1_Click() If Te

32、xt1(0) = "" Then MsgBox "班级编号不能为空!", vbOKOnly, "提示" Text1(0).SetFocus Exit Sub End If If Text1(1) = "" Then MsgBox "班级名称不能为空!", vbOKOnly, "提示" Text1(1).SetFocus Exit Sub End If If Text1(2) = "" Then MsgBox "导员姓名不能为空!", v

33、bOKOnly, "提示" Text1(2).SetFocus Exit Sub End If txtSQL = "select * from class_Form where class_NO='" & Trim(Text1(0) & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False Then MsgBox "此班级编号已经存在!", vbOKOnly, "警告" Text1(0).SetF

34、ocus Exit Sub End If mrc.Close txtSQL = "select * from class_Form" Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew mrc.Fields(0) = Trim(Text1(0) mrc.Fields(1) = Trim(Text1(1) mrc.Fields(2) = Trim(Text1(2) mrc.Fields(3) = Trim(Text1(3) mrc.Update mrc.Close For i = 0 To 3 Text1(i) = "&

35、quot; Next MsgBox "班级信息添加成功!", vbOKOnly, "提示" ShowDataEnd SubPrivate Sub Command2_Click() For i = 0 To 3 Text1(i) = "" NextEnd SubPrivate Sub Command5_Click() txtSQL = "delete from class_Form where class_NO='" & Trim(Text1(8) & "'" Se

36、t mrc = ExecuteSQL(txtSQL, MsgText) For i = 8 To 11 Text1(i) = "" Next MsgBox "班级已经删除!", vbOKOnly, "警告" ShowDataEnd SubPrivate Sub Command6_Click() For i = 8 To 11 Text1(i) = "" NextEnd SubPrivate Sub Form_Load() Me.Caption = "班级信息>添 加" Picture1(1

37、).Top = Picture1(0).Top Picture1(1).Left = Picture1(0).Left Picture1(2).Top = Picture1(0).Top Picture1(2).Left = Picture1(0).Left ShowData For i = 0 To 2 Label2(i).BackColor = &HE0E0E0 Picture1(i).Visible = False Next Label2(0).BackColor = &HFFFFFF Picture1(0).Visible = TrueEnd SubPrivate Su

38、b Form_Resize() dColor.ZOrder 1End SubPrivate Sub Label2_Click(Index As Integer) Me.Caption = "班级信息" Me.Caption = Me.Caption & "->" & Trim(Label2(Index).Caption) For i = 0 To 2 Label2(i).BackColor = &HE0E0E0 Picture1(i).Visible = False Next Label2(Index).BackColor

39、= &HFFFFFF Picture1(Index).Visible = True For i = 0 To 11 Text1(i) = "" Next Command3.Enabled = False Command5.Enabled = FalseEnd SubPrivate Sub ShowData() Dim txSQL As String Dim mrcc As ADODB.Recordset txSQL = "select * from class_Form" Set mrcc = ExecuteSQL(txSQL, MsgText)

40、 With MSFlexGrid1 .ColWidth(0) = 1200 .ColWidth(1) = 1200 .ColWidth(2) = 1200 .ColWidth(3) = 6000 .TextMatrix(0, 0) = "班级编号" .TextMatrix(0, 1) = "班级名称" .TextMatrix(0, 2) = "导员姓名" .TextMatrix(0, 3) = "备注信息¢" .Rows = 1 Do While Not mrcc.EOF .Rows = .Rows +

41、1 For i = 0 To mrcc.Fields.Count - 1 .TextMatrix(.Rows - 1, i) = mrcc.Fields(i) & "" Next i mrcc.MoveNext Loop End With mrcc.CloseEnd SubPrivate Sub MSFlexGrid1_Click() If Picture1(1).Visible = True Then Text1(4) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) Text1(5) = Trim(MSFlexG

42、rid1.TextMatrix(MSFlexGrid1.Row, 1) Text1(6) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2) Text1(7) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) Command3.Enabled = True End If If Picture1(2).Visible = True Then Text1(8) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) Text1(9) = Trim(MSFle

43、xGrid1.TextMatrix(MSFlexGrid1.Row, 1) Text1(10) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2) Text1(11) = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) Command5.Enabled = True End IfEnd SubPrivate Sub Text1_Change(Index As Integer) If Index = 4 Then tSQL = "select * from class_Form where

44、class_NO='" & Trim(Text1(Index) & "'" Set mrc = ExecuteSQL(tSQL, MsgText) If mrc.EOF = False Then Text1(5) = mrc.Fields(1) Text1(6) = mrc.Fields(2) Text1(7) = mrc.Fields(3) Command3.Enabled = True Exit Sub Else Text1(5) = "" Text1(6) = "" Text1(7) =

45、 "" Command3.Enabled = False End If mrc.Close End If If Index = 8 Then tSQL = "select * from class_Form where class_NO='" & Trim(Text1(Index) & "'" Set mrc = ExecuteSQL(tSQL, MsgText) If mrc.EOF = False Then Text1(9) = mrc.Fields(1) Text1(10) = mrc.Field

46、s(2) Text1(11) = mrc.Fields(3) Command5.Enabled = True Exit Sub Else Text1(9) = "" Text1(10) = "" Text1(11) = "" Command5.Enabled = False End If mrc.Close End IfEnd SubPrivate Sub Text1_GotFocus(Index As Integer) Text1(Index).SelStart = 0 Text1(Index).SelLength = Len(Te

47、xt1(Index)End SubPrivate Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) EnterToTab KeyCodeEnd Sub4.5课程信息窗体的设计4.5.1在工程中添加一个窗体,命名为“frmcoui”。整个窗体界面如下所示。Frmcoui窗体的主要控件和属性设置如下对象名属性属性值ComcolTextCombolList1(名称)密码TxtUserTextList1FrmcouiCaption课程信息StartUpPosition0 手动Command1Caption

48、添加Command2Caption删除4.5.2添加窗体代码Private Sub Combo1_Click() List1TextEnd SubPrivate Sub Command1_Click() Dim txtSQL As String If Text1(0) = "" Then MsgBox " 课程名称不能为空", vbOKOnly, "提示" Text1(0).SetFocus Exit Sub End If txtSQL = "select * from course_Form where course_Na

49、me='" & Trim(Text1(0) & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False Then MsgBox "此课程名称已经存在!", vbOKOnly, "警告" Text1(0).SetFocus Exit Sub End If mrc.Close txtSQL = "select * from course_Form" Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew mrc.Fields(0) = Trim(Text1(0) mrc.Fields(1) = Trim(Text1(1) mrc.Update mrc.Close Text1(0) = "" Text1(1) = ""

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论