电子教务管理系统毕业设计

发布时间:2017-09-06 12:16:36   来源:文档文库   
字号:

电子教务管理系统毕业设计

i

Abstract ii

第一章 引言 1

1.1 背景 1

1.1.1电子教务管理系统 1

1.2开发电子教务管理系统的目的和原则 3

1.3开发环境介绍 3

1.3.1 开发平台 4

1.3.2数据库设计工具——ACCESS数据库管理系统 7

第二章 系统设计 9

2.1 系统分析 9

2.2 系统流程和操作方式设计 11

第三章 系统界面设计 12

3.1系统界面设计以及代码分析 12

第四章 数据库的设计 30

4.1数据库设计 30

4.2 数据库概念和发展 30

4.3系统测试与评价 38

39

40

参考文献 41

第一章 引言

对于一个学校来说,大量教师信息,学生管理信息,教职工日常工资管理,学生成绩管理,以及学生评语的生成还有基本数据的维护都难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理这些日常管理.电子教务管理系统是管理信息系统的一个典型用例.

1.1背景

1.1.1电子教务管理系统

开发电子教务管理系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和教务管理实践活动两者之间架设桥梁。

1.2开发电子教务管理系统的目的和原则

电子教务系统只要服务于高校管理者方便管理本校教职员工,学生的基本信息如教师工资福利,学生成绩信息学籍管理等.

1.3开发环境介绍

1.3.1开发平台

本电子教务管理系统的开发平台为微软windows xp visual basic 6.0 以及微软的Access作为操作数据库.

1.3.2数据库设计工具——ACCESS数据库管理系统

Microsoft Access介绍:

使用Microsoft Access,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。
如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。
如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。
如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在窗体向导选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。
如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。

第二章 系统设计

2.1 系统分析

本电子教务管理系统主要由以下几大模块构成.

一. 通用模块(教工信息管理,学生信息管理,评语管系统,考试管理系统,基础数据维护,窗口,操作员命令)

二. .超级信史,系统助手

2.2 系统流程和操作方式设计

窗口

第三章 系统界面设计

3.1系统界面设计

1.登陆界面

代码设计:

Private Sub CmbUser_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then cmdOK_Click

End Sub

Private Sub cmdCancel_Click()

Me.Hide

End Sub

Private Sub cmdOK_Click()

Dim txtSQL As String

Set mrc = New ADODB.Recordset

If Trim(CmbUser.Text) = "" Then

CmbUser.SetFocus

Else

txtSQL = "select * from Login where 登录姓名 = '" & CmbUser.Text & "'"

mrc.Open Trim$(txtSQL), Con, adOpenKeyset, adLockOptimistic

Set ExecuteSQL = mrc

If mrc.EOF = True Then

CmbUser.SetFocus

Else

If Trim(mrc!密码) = Trim(Txtpassword.Text) Then

LoginUser = mrc!登录姓名

Permission = mrc!权限

If Check1.Value = 1 Then

r = WritePrivateProfileString("用户信息", "姓名", CmbUser.Text, App.Path + "\电子教务系统.ini")

s = WritePrivateProfileString("用户信息", "密码", Txtpassword.Text, App.Path + "\电子教务系统.ini")

If r <> 1 Or s <> 1 Then

MsgBox "写基本信息出错!", 48, App.Title

End If

Else

r = WritePrivateProfileString("用户信息", "姓名", "", App.Path + "\电子教务系统.ini")

s = WritePrivateProfileString("用户信息", "密码", "", App.Path + "\电子教务系统.ini")

End If

mrc.Close

Me.Hide

Exit Sub

Else

Txtpassword.SetFocus

Txtpassword.Text = ""

End If

End If

End If

miCount = miCount + 1

MsgBox "登录错误,你还有" & 3 - miCount & "次机会!", vbOKOnly + vbExclamation, "警告"

If miCount = 3 Then

Me.Hide

End If

Exit Sub

End Sub

Private Sub Form_Load()

If Len(GetFromINI("用户信息", "姓名", App.Path + "\电子教务系统.ini")) = 0 Or Len(GetFromINI("用户信息", "密码", App.Path + "\电子教务系统.ini")) = 0 Then

Else

CmbUser.Text = GetFromINI("用户信息", "姓名", App.Path + "\电子教务系统.ini")

Txtpassword.Text = GetFromINI("用户信息", "密码", App.Path + "\电子教务系统.ini")

End If

Dim Rs1 As ADODB.Recordset

Set Rs1 = New ADODB.Recordset

Rs1.Open "Login", Con, adOpenStatic, adCmdTable

iCount = 0

If Rs1.BOF And Rs1.EOF Then

MsgBox "请用管理员账号登录"

Exit Sub

End If

Rs1.MoveFirst

Do While Rs1.EOF = False

CmbUser.AddItem Rs1!登录姓名, i

i = i + 1

Rs1.MoveNext

Loop

End Sub

Private Sub Txtpassword_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then cmdOK_Click

End Sub

2.智能成绩添加界面设计

界面设计:

代码设计:

Dim Ksxz As String

Dim Xxkbl As Double

Dim Bj As Integer

Dim i As Integer

Dim iCount As Integer

Dim AddFlg As Boolean

Dim RSCount As Integer

Dim rs As ADODB.Recordset

Dim Rs1 As ADODB.Recordset

Dim CmdExe As ADODB.Command

Private Sub Command13_Click()

SSTab1.Tab = 0

End Sub

Private Sub Command5_Click()

Unload Me

End Sub

Private Sub Command7_Click()

Pass

rs.Open "select * from 学籍表 where 班级='" & Trim(Combo1.Text) & "' order by 学号", Con, adOpenStatic, adLockPessimistic, adCmdText

If rs.EOF = True And rs.BOF = True Then

Command1.Enabled = False

Command2.Enabled = False

Command3.Enabled = False

Command4.Enabled = False

Command13.Enabled = False

rs.Close

MsgBox "请到学籍表中添加学生名单!", , "此班没有学生:"

Exit Sub

Else

Frame1.Enabled = False

Frame2.Enabled = False

Command1.Enabled = True

Command2.Enabled = True

Command3.Enabled = True

Command4.Enabled = True

Command7.Enabled = False

Command8.Enabled = True

Command9.Enabled = True

Command13.Enabled = True

MsgBox Trim(Combo1.Text) & " 登分:" & Chr(13) & "考试性质:" & Trim(Text1.Text) & Chr(13) & "可以开始输入成绩了!", , App.Title

Command13.SetFocus

End If

List1.Clear

List1.AddItem "学号" & "-" & "姓名"

If rs.BOF And rs.EOF Then

Else

rs.MoveFirst

Do While rs.EOF = False

If Len(rs!学号) = 1 Then

List1.AddItem " 0" & rs!学号 & "--" & rs!姓名

Else

List1.AddItem " " & rs!学号 & "--" & rs!姓名

End If

rs.MoveNext

Loop

rs.MoveFirst

End If

List1.ListIndex = 1

Display

End Sub

Private Sub Command8_Click()

rs.Close

List1.Clear

Frame1.Enabled = True

Frame2.Enabled = True

Command1.Enabled = False

Command2.Enabled = False

Command3.Enabled = False

Command4.Enabled = False

Command7.Enabled = True

Command8.Enabled = False

Command9.Enabled = False

Command13.Enabled = False

For i = 0 To 8

txtcj(i).Enabled = True

txtcj(i).Text = ""

Next i

End Sub

Private Sub Command9_Click()

On Error GoTo err

For i = 0 To 8

If Trim(txtcj(i).Text) > Text3.Text * 1 Then

MsgBox "成绩大于预定值!", , "成绩第" & i + 1 & "项错误"

Exit Sub

End If

Next i

txtcj(9).Text = txtcj(0) * 1 + txtcj(1) * 1 + txtcj(2) * 1 + txtcj(3) * 1 + txtcj(4) * 1 + txtcj(5) * 1 * (Text2.Text * 1) + txtcj(6) * 1 * (Text2.Text * 1) + txtcj(7) * 1 * (Text2.Text * 1) + txtcj(8) * 1 * (Text2.Text * 1)

If AddFlg = False Then

Rs1.Open "select 语文,数学,英语,物理,化学,政治,历史,地理,生物,总分 from 成绩表 where 考试号='" & Trim(KSH.Caption) & "' and 考试性质='" & Text1.Text & "'", Con, adOpenStatic, adLockPessimistic, adCmdText

Rs1!语文 = Trim(txtcj(0).Text)

Rs1!数学 = Trim(txtcj(1).Text)

Rs1!英语 = Trim(txtcj(2).Text)

Rs1!物理 = Trim(txtcj(3).Text)

Rs1!化学 = Trim(txtcj(4).Text)

Rs1!政治 = Trim(txtcj(5).Text) * 1 * (Text2.Text * 1)

Rs1!历史 = Trim(txtcj(6).Text) * 1 * (Text2.Text * 1)

Rs1!地理 = Trim(txtcj(7).Text) * 1 * (Text2.Text * 1)

Rs1!生物 = Trim(txtcj(8).Text) * 1 * (Text2.Text * 1)

Rs1!总分 = Trim(txtcj(9).Text)

Rs1.UpdateBatch adAffectAllChapters

SBar1.Panels.Item(1) = "修改成功保存!"

Rs1.Close

Else

CmdExe.ActiveConnection = Con

CmdExe.CommandText = "insert into 成绩表(考试号,语文,数学,英语,物理,化学,政治,历史,地理,生物,总分,考试性质) values " & "(" & KSH.Caption & "," & txtcj(0).Text & "," & txtcj(1).Text & "," & txtcj(2).Text & "," & txtcj(3).Text & "," & txtcj(4).Text & "," & txtcj(5).Text * 1 * (Text2.Text * 1) & "," & txtcj(6).Text * 1 * (Text2.Text * 1) & "," & txtcj(7).Text * 1 * (Text2.Text * 1) & "," & txtcj(8).Text * 1 * (Text2.Text * 1) & "," & txtcj(9).Text & ",'" & Text1.Text & "')"

CmdExe.Execute

SBar1.Panels.Item(1) = "添加成功保存!"

iCount = iCount + 1

End If

Label3.Caption = "共添加" & iCount & "条记录"

rs.MoveNext

If List1.ListIndex + 1 < List1.ListCount Then

List1.ListIndex = List1.ListIndex + 1

End If

Display

Exit Sub

err:

Call ExecErr(Date, Me.Caption, err.Number, err.Source, err.Description)

End Sub

Private Sub Form_Load()

AddFlg = False

iCount = 0

Set rs = New ADODB.Recordset

Set Rs1 = New ADODB.Recordset

Set CmdExe = New ADODB.Command

Dim rsbj As ADODB.Recordset

Set rsbj = New ADODB.Recordset

rsbj.Open "班级表", Con, adOpenStatic, adLockPessimistic, adCmdTable

Combo1.Clear

Do While Not rsbj.EOF

Combo1.AddItem rsbj!班级

rsbj.MoveNext

Loop

If Combo1.ListCount > 0 Then

Combo1.ListIndex = 0

End If

End Sub

Private Sub Command1_Click()

rs.MoveFirst

List1.ListIndex = 1

Display

End Sub

Private Sub Command2_Click()

With rs

.MovePrevious

If .BOF Then

.MoveFirst

Else

List1.ListIndex = List1.ListIndex - 1

End If

End With

Display

End Sub

Private Sub Command3_Click()

With rs

.MoveNext

If rs.EOF Then

rs.MoveLast

Else

List1.ListIndex = List1.ListIndex + 1

End If

End With

Display

End Sub

Private Sub Command4_Click()

rs.MoveLast

List1.ListIndex = List1.ListCount - 1

Display

End Sub

Private Sub List1_Click()

If List1.ListIndex < 1 Then

Else

rs.Move List1.ListIndex - 1, adBookmarkFirst

End If

Display

End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer)

If Not IsNumeric(Chr(KeyAscii)) Then

KeyAscii = 0

End If

End Sub

Private Sub txtcj_GotFocus(Index As Integer)

For i = 0 To 8

If txtcj(i).Text = "0" Then

txtcj(i).Text = ""

End If

Next i

SBar1.Panels.Item(1) = "处于更改成绩状态!"

本文来源:https://www.2haoxitong.net/k/doc/3385e3bdaff8941ea76e58fafab069dc50224796.html

《电子教务管理系统毕业设计.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式