教学管理系统设计说明模板_第1页
教学管理系统设计说明模板_第2页
教学管理系统设计说明模板_第3页
教学管理系统设计说明模板_第4页
教学管理系统设计说明模板_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、兰州交通大学课程设计(论文)题 目 名 称 教学管理系统 课 程 名 称 数据库技术及应用 学 生 姓 名 毛燕春 学 号 201109118 学院 自然班 自动化与电气工程学院 电气2011-01 指 导 教 师 甄兴华 2013年 6 月 14 日1. 需求本系统主要用于学校的学生成绩管理。1. 用户身份的验证2. 学生基本信息管理3. 按班级选课4. 学生成绩的管理2. 总体设计本系统包括:标准模块、系统登录模块、主界面模块、系统管理模块、学生基本信息管理模块、选课模块、成绩管理模块。1. 标准模块定义公共变量和过程。2. 系统登录模块进行用户身份的验证。3. 主界面模块作为系统总界面,

2、供用户进行各项选择。4. 系统管理模块用户管理及系统退出。5. 学生基本信息管理模块学生基本信息的录入和查询。6. 选课模块为班级选课。7. 成绩管理模块进行学生成绩的录入及查询。3. 数据库设计及配置3.1. 数据库设计该数据库由以下几个表组成:用户表、学生基本信息表、班级课程表、学生成绩表。3.1.1 用户表包括用户名、密码、是否是超级用户。字段名称数据类型用户名文本密码文本是否为超级用户布尔3.1.2 学生基本信息表包括学号、姓名、电话、地址、班级名称、性别。字段名称数据类型学号文本姓名文本电话文本地址文本班级名称文本性别文本3.1.3 班级课程表包括班级名称、课程名称。字段名称数据类型

3、班级名称文本课程名称文本3.1.4 学生成绩表包括学号、课程名称、成绩。字段名称数据类型学号文本课程名称文本成绩数值(单精度浮点型)3.2. 数据库中各表关系学生基本信息表与班级课程表通过班级名称字段相关联,学生基本信息表与学生成绩表通过学号字段相关联,班级课程表与学生成绩表通过课程名称字段相关联。4. 系统实现4.1. 标准模块(公有模块)4.1.1 标准模块中的数据定义用于定义全局变量及过程。本系统定义了当前用户名及用户类型。序号变量名数据类型1UserNameString2UserTypeBoolean4.1.2 标准模块代码设计Option Explicit Public UserNa

4、me As String Public UserType As Boolean4.2. 系统登录模块4.2.1 说明进行用户身份的验证。特定的用户才能登录到系统。4.2.2 窗体设计系统登录窗体的窗体类型为Form,界面如下图所示:主要控件属性如下表所示:对象名类型属性值说明FrmLogin窗体Caption学生成绩管理系统登录学生成绩管理系统登录窗体Label1标签Caption用户名:Label2标签Caption密码:Text1文本框Text用于输入用户名Text2文本框Text用于输入密码cmdOk命令按钮Caption确定确定当前输入的用户名和密码,进行用户登录。登录成功后进入主界面

5、。如果三次输入错误的用户和密码,程序将自动退出cmdCancel命令按钮Caption取消取消操作,退出程序Adodc1AdodcConnectionString连接所使用的数据库,ConnectionString属性在界面中设置,RecordSource属性在代码中设置。4.2.3 代码设计l 公共定义Option ExplicitDim Count1 As Integerl 窗体装载处理程序(Load)Private Sub Form_Load() Count1 = 0错误次数清零End Subl 取消按钮(cmdCancel)处理程序(Click)Private Sub cmdCance

6、l_Click() Unload Me系统退出End Subl 确定按钮(cmdOk)处理程序(Click)Private Sub cmdOk_Click() Dim s1 As String Dim Password As StringOn Error Resume Next If Text1.Text = "" Then用户名为空,则退出 MsgBox ("用户名不能为空,请重新输入") Text1.SetFocus Exit SubEnd If按输入的用户名进行查询 s1 = "SELECT * from 用户表 WHERE 用户名=&#

7、39;" & Text1.Text & "'" Adodc1.RecordSource = s1 Adodc1.Refresh If Adodc1.Recordset.EOF = False Then判断查询结果 UserName = Adodc1.Recordset.Fields(0)有该用户名,即用户名正确 Password = Adodc1.Recordset.Fields(1) UserType = Adodc1.Recordset.Fields(2) If Password = Text2.Text Then判断密码是否正确 Un

8、load Me密码正确,关闭当前窗体 FrmMain.Show显示主界面窗体 Exit Sub Else MsgBox ("密码错误,请重新输入")密码错误,提示 Text2.SetFocus Text2.Text = "" End If Else没有该用户名,即用户名错误 MsgBox "用户名错误,请重新输入" Text1.SetFocus Text1.Text = "" Text2.Text = "" End If Count1 = Count1 + 1错误次数累计 If Count1 &

9、gt;= 3 Then MsgBox "错误超过3次,系统退出" Unload Me End IfEnd Sub4.3. 主界面模块4.3.1 说明作为系统总界面,供用户进行各项选择。4.3.2 窗体设计主界面模块窗体类型为MDIForm,界面如下图所示。4.3.3 代码设计l 窗体变为活动窗体处理程序(MDIFormActivate)Private Sub MDIForm_Activate() WindowState = 2窗体最大化状态 StatusBar1.Panels(1).Text = "用户名: " & UserName在状态栏显示用

10、户名、用户类型 If UserType = True Then StatusBar1.Panels(2).Text = "用户类型: 管理员" Else StatusBar1.Panels(2).Text = "用户类型: 普通用户"End If If UserType = False Then对普通用户设某些菜单项不可用 AA1.Enabled = False BB1.Enabled = False CC.Enabled = False DD1.Enabled = False Toolbar1.Buttons(1).Enabled = False对普通

11、用户设工具栏的某些按钮不可用 Toolbar1.Buttons(3).Enabled = False Toolbar1.Buttons(6).Enabled = False Toolbar1.Buttons(7).Enabled = False Toolbar1.Buttons(9).Enabled = False End IfEnd Subl 定时器(Timer1)处理程序(Timer)Private Sub Timer1_Timer() StatusBar1.Panels(3).Text = Now在状态栏中显示当前时间End Subl 工具栏(Toolbar1)处理程序(ButtonCl

12、ick)Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 Form11.Show (1)用户管理 Case 3 Form21.Show (1)学生基本信息维护 Case 4 Form22.Show (1)学生基本信息查询 Case 6 Form31.Show (1)课程添加 Case 7 Form32.Show (1)课程删除 Case 9 Form41.Show (1)学生成绩维护 Case 10 Form42.Show (1)学生成绩查询

13、Case 12 Unload Me系统退出 End SelectEnd Subl “用户管理”菜单项处理程序(AA1Click)Private Sub AA1_Click() Form11.Show (1)End Subl “退出”菜单项处理程序(AA3click)Private Sub AA3_Click() Unload MeEnd Subl “学生基本信息维护”菜单项处理程序(BB1click)Private Sub BB1_Click() Form21.Show (1)End Subl “学生基本信息查询”菜单项处理程序(BB2click)Private Sub BB2_Click()

14、 Form22.Show (1)End Subl “课程添加”菜单项处理程序(CC1click)Private Sub CC1_Click() Form31.Show (1)End Subl “课程删除”菜单项处理程序(CC2click)Private Sub CC2_Click() Form32.Show (1)End Subl “学生成绩维护”菜单项处理程序(DD1click)Private Sub DD1_Click() Form41.Show (1)End Subl “学生成绩查询”菜单项处理程序(DD2click)Private Sub DD2_Click() Form42.Show

15、 (1)End Sub4.4. 用户管理模块4.4.1 说明创建、删除用户。设定用户权限。4.4.2 窗体设计4.4.3 代码设计l 上一条(Command1)处理(Click)Private Sub Command1_Click() Command2.Enabled = True Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then Command1.Enabled = False Adodc1.Recordset.MoveFirst End IfEnd Subl 下一条(Command2)处理(Click)Private Su

16、b Command2_Click() Command1.Enabled = True Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Command2.Enabled = False Adodc1.Recordset.MoveLast End IfEnd Subl 添加(Command3)处理(Click)Private Sub Command3_Click() If Command3.Caption = "添加" Then Command3.Caption = "确定" Command1.E

17、nabled = False Command2.Enabled = False Command4.Enabled = False Adodc1.Recordset.AddNew Text1.SetFocus Else If Text1.Text = "" Then MsgBox ("用户名不能为空") Exit Sub End If Command3.Caption = "添加" Adodc1.Recordset.Update Command1.Enabled = True Command2.Enabled = True Comman

18、d4.Enabled = True End IfEnd Subl 删除(Command4)处理(Click)Private Sub Command4_Click() Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End IfEnd Subl 退出(Command5)处理(Click)Private Sub Command5_Click() Unload MeEnd Sub4.5. 学生基本信息管理模块4.5.1 说明学生基本信息的添

19、加、删除、查询。该模块有两个窗体:学生基本信息维护窗体和学生基本信息查询窗体4.5.2 学生基本信息维护窗体4.5.2.1. 窗体设计主要控件属性如下表所示:对象名类型属性值说明Form21窗体Caption学生基本信息维护学生基本信息维护窗体Adodc1AdodcConnectionString连接所使用的数据库,ConnectionString、RecordSource属性都在界面中设置。作为DataGrid1的数据源RecordSourceCommandType2adCmdTable学生基本信息表DataGrid1DataGridDataSourceAdodc1用于显示学生基本信息表内容

20、Command1命令按钮Caption退出4.5.2.2. 代码设计l 窗体装载处理程序(Load)Private Sub Form_Load() DataGrid1.AllowAddNew = True DataGrid1.AllowDelete = True DataGrid1.AllowUpdate = TrueEnd Subl 退出(Command1)处理(Click)Private Sub Command1_Click() Unload MeEnd Sub4.5.3 学生基本信息查询窗体4.5.3.1. 窗体设计主要控件属性如下表所示:对象名类型属性值说明Form22窗体Captio

21、n学生基本信息查询学生基本信息查询窗体Adodc1AdodcConnectionString连接所使用的数据库,ConnectionString属性在界面中设置,RecordSource属性在代码中设置。Adodc2AdodcConnectionString连接所使用的数据库,ConnectionString、RecordSource属性都在界面设置。作为DataList1的数据源RecordSourceCommandType 1adCmdTextSELECT DISTINCT 班级名称 FROM 学生基本信息表Check1复选按钮Caption姓名选择查询条件Check2复选按钮Captio

22、n学号Check3复选按钮Caption班级Text1文本框用于输入姓名Text2文本框用于输入学号DataList1DataListRowSourceAdodc2用于选择输入班级名称ListField班级名称DataSourceAdodc2DataListField班级名称DataGrid1DataGrid显示查询得到的学生基本信息Command1命令按钮Caption查询Command2命令按钮Caption退出4.5.3.2. 代码设计l 查询(Command1)处理(Click )Private Sub Command1_Click() Dim s1 As Strings1 = &qu

23、ot;" If Check1.Value = 1 Then If Text1.Text <> "" Then s1 = s1 & "姓名='" & Text1.Text & "'" End IfEnd If If Check2.Value = 1 Then If Text2.Text <> "" Then If s1 <> "" Then s1 = s1 & " and " End

24、If s1 = s1 & "学号='" & Text2.Text & "'" End IfEnd If If Check3.Value = 1 Then If DataList1.Text <> "" Then If s1 <> "" Then s1 = s1 & " and " End If s1 = s1 & "班级名称='" & DataList1.Text & &q

25、uot;'" End If End If If s1 <> "" Then s1 = "where " & s1End If Adodc1.RecordSource = "select * from 学生基本信息表 " & s1 Adodc1.Refresh Set DataGrid1.DataSource = Adodc1End Subl 退出(Command2)处理(Click)Private Sub Command2_Click() Unload MeEnd Subl 窗体装载处理程

26、序(Load)Private Sub Form_Load() DataGrid1.AllowAddNew = False DataGrid1.AllowDelete = False DataGrid1.AllowUpdate = FalseEnd Sub4.6. 选课模块4.6.1 说明该模块为一个班级选课。4.6.2 课程添加窗体用于课程的添加和查询4.6.2.1. 窗体设计主要控件属性如下表所示:对象名类型属性值说明Form31窗体Caption课程添加课程添加窗体Adodc1AdodcConnectionString连接所使用的数据库,ConnectionString属性在界面中设置,R

27、ecordSource属性在代码中设置。Label1标签Caption班级名称Label2标签Caption课程名称Text1文本框用于输入班级名称Text2文本框用于输入课程名称DataGrid1DataGrid显示该班级课程Command1命令按钮Caption添加Command2命令按钮Caption查询Command3命令按钮Caption退出4.6.2.2. 代码设计l 添加(Command1)处理(Click)Private Sub Command1_Click() Dim s1 As String, s2 As String On Error Resume Next If Tex

28、t1.Text = "" Or Text2.Text = "" Then MsgBox ("输入不能为空") Exit Sub End If s1 = "select * from 班级课程表 where 班级名称='" s2 = Text1.Text & "' and 课程名称='" & Text2.Text & "'" Adodc1.RecordSource = s1 & s2 Adodc1.Refresh

29、If Adodc1.Recordset.EOF = False Then Text1.SetFocus MsgBox "该记录已存在,请重新输入", , "警告" Exit Sub End If s1 = "select * from 班级课程表" Adodc1.RecordSource = s1 Adodc1.Refresh Adodc1.Recordset.MoveLast Adodc1.Recordset.AddNew Adodc1.Recordset.Fields("班级名称") = Text1.Text

30、Adodc1.Recordset.Fields("课程名称") = Text2.Text Adodc1.Recordset.Update Adodc1.Refresh s1 = "select 课程名称 from 班级课程表 where 班级名称='" & Text1.Text & "'" Adodc1.RecordSource = s1 Adodc1.Refresh Set DataGrid1.DataSource = Adodc1.Recordset Text2.SetFocus Text2.Tex

31、t = "" Exit SubEnd Subl 查询(Command2)处理(Click)Private Sub Command2_Click() Dim s1 As String s1 = "select 课程名称 from 班级课程表 where 班级名称='" & Text1.Text & "'" Adodc1.RecordSource = s1 Adodc1.Refresh Set DataGrid1.DataSource = Adodc1.RecordsetEnd Subl 退出(Comman

32、d3)处理(Click)Private Sub Command3_Click() Unload MeEnd Subl 窗体装载处理程序(Load)Private Sub Form_Load() DataGrid1.AllowAddNew = False DataGrid1.AllowDelete = False DataGrid1.AllowUpdate = FalseEnd Sub4.6.3 课程删除窗体4.6.3.1. 窗体设计主要控件属性如下表所示:对象名类型属性值说明Form32窗体Caption课程添加课程删除及修改窗体Adodc1AdodcConnectionString连接所使用

33、的数据库,ConnectionString、RecordSource属性都在界面中设置。作为DataList1的数据源RecordSourceCommandType 1adCmdTextSELECT DISTINCT 班级名称 from 班级课程表Adodc2AdodcConnectionString连接所使用的数据库,ConnectionString在界面中设置,RecordSource属性在代码中设置。Label1标签Caption班级名称Label2标签Caption课程列表DataList1DataListRowSourceAdodc1用于选择输入班级名称ListField班级名称Da

34、taSourceAdodc1DataListField班级名称DataGrid1DataGrid显示查询得到的学生基本信息4.6.3.2. 代码设计l 退出(Command1)处理(Click)Private Sub Command1_Click() Unload MeEnd Subl 数据列表框(DataList1)处理(Click)Private Sub DataList1_Click() Dim s1 As String s1 = "select * from 班级课程表 where 班级名称='" & DataList1.Text & &qu

35、ot;'" Adodc2.RecordSource = s1 Adodc2.Refresh Set DataGrid1.DataSource = Adodc2End Subl 窗体装载处理程序(Load)Private Sub Form_Load() DataGrid1.AllowDelete = True DataGrid1.AllowUpdate = True DataGrid1.AllowAddNew = FalseEnd Sub4.7. 成绩管理模块4.7.1 说明进行学生成绩的录入及查询。4.7.2 成绩录入窗体进行学生成绩的添加、修改及删除。4.7.2.1. 窗体

36、设计4.7.2.2. 代码设计l 录入(Command1)处理(Click)Private Sub Command1_Click() Dim s1 As String, s2 As String, s3 As String On Error Resume Next s1 = "select * from 学生成绩表 " s2 = "where 学号='" & List2.Text & "' and " s3 = "课程名称='" & List1.Text &

37、"'" Adodc3.RecordSource = s1 & s2 & s3 Adodc3.Refresh If Adodc3.Recordset.EOF = False Then Adodc3.Recordset.Fields(2) = Val(Text1.Text) Else Adodc3.Recordset.MoveLast Adodc3.Recordset.AddNew Adodc3.Recordset.Fields(0) = List2.Text Adodc3.Recordset.Fields(1) = List1.Text Adodc3.

38、Recordset.Fields(2) = Val(Text1.Text) End If Adodc3.Recordset.Update Adodc3.Refresh s1 = "select 学号,成绩 from 学生成绩表 where 课程名称='" & List1.Text & "'" s2 = " and 学号 in (select 学号 from 学生基本信息表 " s3 = "where 班级名称 ='" & DataList1.Text & &q

39、uot;')" Adodc3.RecordSource = s1 & s2 & s3 Adodc3.Refresh Set DataGrid1.DataSource = Adodc3End Subl 退出(Command1)处理(Click )Private Sub Command2_Click() Unload MeEnd Subl 数据列表框(DataList1)处理(Click)Private Sub DataList1_Click() Dim s1 As String, s2 As String Set DataGrid1.DataSource = N

40、othing s1 = "select 课程名称 from 班级课程表 " s2 = "where 班级名称='" & DataList1.Text & "'" Adodc2.RecordSource = s1 & s2 Adodc2.Refresh If Adodc2.Recordset.EOF = True Then MsgBox "请在班级课程表里添加该班级的课程名称" Exit Sub End If List1.Clear Adodc2.Recordset.MoveF

41、irst Do While Adodc2.Recordset.EOF = False List1.AddItem Adodc2.Recordset.Fields(0) Adodc2.Recordset.MoveNext Loop s1 = "select 学号 from 学生基本信息表 " s2 = "where 班级名称='" & DataList1.Text & "'" Adodc2.RecordSource = s1 & s2 Adodc2.Refresh If Adodc2.Record

42、set.EOF = True Then MsgBox "请在学生信息表里添加该班级" Exit Sub End If List2.Clear Adodc2.Recordset.MoveFirst Do While Adodc2.Recordset.EOF = False List2.AddItem Adodc2.Recordset.Fields(0) Adodc2.Recordset.MoveNext LoopEnd Subl 窗体装载处理程序(Load)Private Sub Form_Load() DataGrid1.AllowDelete = True DataGri

43、d1.AllowAddNew = False DataGrid1.AllowUpdate = FalseEnd Subl 列表框(List1)处理(Click)Private Sub List1_Click() Dim s1 As String, s2 As String, s3 As String s1 = "select 学号,成绩 from 学生成绩表 where 课程名称='" & List1.Text & "'" s2 = " and 学号 in (select 学号 from 学生基本信息表 &quo

44、t; s3 = "where 班级名称 ='" & DataList1.Text & "')" Adodc3.RecordSource = s1 & s2 & s3 Adodc3.Refresh Set DataGrid1.DataSource = Adodc3End Subl 列表框(List2)处理(Click)Private Sub List2_Click() Text1.Text = ""End Sub4.7.3 成绩查询窗体进行学生成绩的查询4.7.3.1. 窗体设计主要控件属

45、性如下表所示:对象名类型属性值说明Form42窗体Caption学生成绩查询学生成绩查询窗体Adodc1AdodcConnectionString连接所使用的数据库,ConnectionString在界面中设置,RecordSource属性在代码中设置。Adodc2AdodcConnectionString连接所使用的数据库,ConnectionString在界面中设置,RecordSource属性在代码中设置。Option1(0)单选按钮Caption按班级用于选择查询条件Option1(1)单选按钮Caption按学号Label1标签CaptionLabel1Label2标签Caption

46、Label2Combo1组合框用于选择班级名称Combo2组合框用于选择学号和课程名称DataGrid1DataGrid用于显示查询得到的学生成绩Command1命令按钮Caption退出4.7.3.2. 代码设计l 公共定义Option ExplicitDim opt As Integerl 组合框(Combo1)处理(Click)Private Sub Combo1_Click() Dim s1 As String, s2 As String Set DataGrid1.DataSource = Nothing Combo2.Clear If opt = 0 Then s1 = "

47、;select 课程名称 from 班级课程表 where 班级名称='" s2 = Combo1.Text & "' group by 课程名称" Adodc2.RecordSource = s1 & s2 Else s1 = "select 学号 from 学生基本信息表 where 班级名称='" s2 = Combo1.Text & "'" Adodc2.RecordSource = s1 & s2 End If Adodc2.Refresh Do While Adodc2.R

温馨提示

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

评论

0/150

提交评论