数据库课程设计报告
教学管理系统
实验题目:教学管理系统
教学管理系统
目录
一、概述
数据库课程设计是集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合的实践练习,主要目的在于加深学生对数据库基础理论和基本知识的理解,熟悉数据库的设计方法,掌握基于数据库的信息管理系统的开发方法,进一步加强学生综合运用知识和实践动手的能力。
学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。
二、总体设计
1、软件环境:
Visual Studio 2010、SQL Server Management Studio
2、硬件环境:
PC机
三、实验主要内容
1、主要数据表
课程信息表,学生信息表单,教师信息表,学生成绩表等。
2、功能模块
(1)课程设置,包括:查询、添加、删除、查询和修改课程信息
(2)学生成绩查询,网上评教。
(3)教师查询课程时间和教室的安排。
(4)教师管理学生成绩查询,添加,修改,删除。
(5)学生和教师信息的注册。
四、系统分析报告
1、数据流图
教学管理系统的基本数据流图如下所示:
学生选课信息
学生成绩信息
排课信息 排课信息 排课信息
2、系统功能模块
本系统主要包括学生信息管理、课程信息管理、成绩信息管理等模块,另外还包括进行系统管理的一些辅助模块。其示意图如下:
学生
管理员
任课教师
学生
各实体E-R图:
学生信息:
教师信息:
学生成绩:
(2)关系模式
学生信息(姓名,学号,登录密码)
课程信息(课程号,课程名,上课教室,登录密码,)教师信息(教师编号,姓名,登录密码)
学生成绩(学号,课程号,课程名,成绩)
(3)数据表
课程信息表
教师信息表
个人成绩表
学生成绩表
学生课表
五、代码实现
1.登录界面
Private Sub Form1_Load(ByVal sender As , ByVal e As Handles
Dim min, max, rndnum, i As Integer
min = 10
max = 99
= ""
For i = 0 To 1
rndnum = CStr(CInt(min + Rnd() * (max - min)))
= & "" & rndnum
Next
End Sub
Private Sub Button2_Click(ByVal sender As , ByVal e As Handles
Dim ConnStr As String = "Server=(local);uid=sa;pwd=1234;database=shiy"
Dim cn As = New(ConnStr) '建?§立¢?é连¢?接¨?对?象¨?,ê?同a?时o?à说|ì明??连¢?接¨?字á?符¤?串??
Dim cmd As New'生|¨2成¨|命¨1令¢?对?象¨?,ê?用??于?¨2执??行DSQL语??句?
Dim dr As IDataReader'用??来¤??临¢¨′时o?à存??放¤?执??行D语??句?后¨?的ì?结¨¢果?
Dim SQLStr As String
If = True Then
SQLStr = "select * from teacher where tusernum=" + "'" + + "'"
= cn
()
= SQLStr
dr = ()
If () Then
If dr!().Trim = Then
If = Then
MsgBox("登ì?录?成¨|功|")
Dim jiaoshi As New Form3
()
Hide()
Else
MsgBox("验¨|证?è码?错?¨a误¨?")
End If
Else
MsgBox("密¨1码?不?正y确¨?¤")
End If
Else
MsgBox("该?用??户?ì不?存??在¨2")
End If
()
()
Else
SQLStr = "select * from student where snum=" + "'" + + "'"
= cn
()
= SQLStr
dr = ()
If () Then
If dr!().Trim = Then
If = Then
MsgBox("登ì?录?成¨|功|")
Dim xuesheng As New Form6
()
()
Else
MsgBox("验¨|证?è码?错?¨a误¨?")
End If
Else
MsgBox("密¨1码?不?正y确¨?¤")
End If
Else
MsgBox("该?用??户?ì不?存??在¨2")
End If
()
()
End If
End Sub
Private Sub Button1_Click(ByVal sender As , ByVal e As Handles
Dim zhuce As New Form2
()
()
End Sub
2.注册界面
Public Class Form2
Dim objDS As New DataSet
Dim objXSTable As DataTable
Dim objda As New
Dim cn As New ("server=(local);uid=sa;pwd=1234;database=shiy")
Public Sub refreshdata()
(objDS, "teacher") '第ì¨2二t个?参?数oy为a需¨¨要°a更¨1新?数oy据Y库a表à¨a 名?
()
(Nothing, Nothing)
()
End Sub
Private Sub zhuce_Click(ByVal sender As , ByVal e As Handles
Dim cmd As New
= cn '数oy据Y从?¨?当ì?à前??建?§立¢?é的ì?连¢?接¨?cn中D进?入¨?
If = True Then
Dim builder As = New (objda)
Try
()
= "select * from teacher"
= cmd
(objDS, "teacher")
objXSTable = ("teacher")
()
Dim response As MsgBoxResult
response = MsgBox("确¨?¤实o|ì要°a注á?é册¨¢吗e?ê?", vbOKCancel + vbQuestion, "系|ì统a3提?¨¢示o?")
If response = Then
Dim myRow As DataRow
myRow =
myRow("tusernum") =
myRow("tusername") =
myRow("tpwd") =
(objDS, "teacher")
()
refreshdata()
End If
Catch ex As Exception
End Try
Else
Dim builder As = New (objda)
()
= "select * from student"
= cmd
(objDS, "student")
objXSTable = ("student")
()
Dim response As MsgBoxResult
response = MsgBox("确¨?¤实o|ì要°a注á?é册¨¢吗e?ê?", vbOKCancel + vbQuestion, "系|ì统a3提?¨¢示o?")
If response = Then
Dim myRow As DataRow
myRow =
myRow("snum") =
myRow("sname") =
myRow("spwd") =
(objDS, "student")
()
refreshdata()
End If
End If
Dim denglu As New Form1
()
()
End Sub
Private Sub chongzhi_Click(ByVal sender As , ByVal e As Handles
= ""
= ""
= ""
End Sub
End Class
3.教师界面
Public Class Form3
Private Sub Button1_Click(ByVal sender As , ByVal e As Handles
Dim kebiao As New Form4
()
()
End Sub
Private Sub Button4_Click(ByVal sender As , ByVal e As Handles
Dim denglu As New Form1
()
()
End Sub
Private Sub Button5_Click(ByVal sender As , ByVal e As
End Sub
Private Sub Button2_Click(ByVal sender As , ByVal e As Handles
Dim chengjig As New Form5
()
()
End Sub
Private Sub Button3_Click(ByVal sender As , ByVal e As
End Sub
4.课表管理
Private Sub Button1_Click(ByVal sender As , ByVal e As Handles
Dim conn As New SqlConnection
Dim comm As New SqlCommand
= "server=(local); uid=sa;pwd=1234;database=shiy"
()
= "select * from course where coursenum ='" & & "' and courxseclass='" & & "'" = conn
= "select coursename from course where coursenum ='" & & "' and courxseclass='" & & "'"
=
= conn
= "select coursetime from course where coursenum ='" & & "' and courxseclass='" & & "'"
=
= conn
= "select courseaddress from course where coursenum ='"& & "' and courxseclass='" & & "'"
=
= conn
()
End Sub
Private Sub Button2_Click(ByVal sender As , ByVal e As Handles
Dim jiaoshijiemian As New Form3
()
()
End Sub
5.成绩管理
Imports
Public Class Form5
Private Sub Button5_Click(ByVal sender As , ByVal e As Handles
Dim jiaoshi As New Form3
()
()
End Sub
Private Sub Button1_Click(ByVal sender As , ByVal e As Handles
Dim conn As New SqlConnection
Dim comm As New SqlCommand
= "server=(local); uid=sa;pwd=1234;database=shiy"
()
= "select * from chengji"
= conn
Dim da As New SqlDataAdapter, conn)
Dim ds As New DataSet
(ds, "chengji")
()
= (0)
End Sub
Private Sub Button2_Click(ByVal sender As , ByVal e As Handles
Dim conn As New SqlConnection
Dim comm As New SqlCommand
= "server=(local); uid=sa;pwd=1234;database=shiy"
()
= "insert into chengji values('" & & "','" & & "','" & & "','" & & "')"
= conn
()
= "select * from chengji"
= conn
Dim da As New SqlDataAdapter, conn)
Dim ds As New DataSet
(ds, "chengji")
()
= (0)
End Sub
Private Sub Button3_Click(ByVal sender As , ByVal e As Handles
Dim conn As New SqlConnection
Dim comm As New SqlCommand
= "server=(local); uid=sa;pwd=1234;database=shiy"
()
= "update chengji set snum='" & & "',coursenum=" & & ",coursename='" & & "',coursegrade='" & & "' where snum='" & & "'"
= conn
()
= "select * from chengji"
= conn
Dim da As New SqlDataAdapter, conn)
Dim ds As New DataSet
(ds, "chengji")
()
= (0)
End Sub
Private Sub Button4_Click(ByVal sender As , ByVal e As Handles
Dim conn As New SqlConnection
Dim comm As New SqlCommand
= "server=(local); uid=sa;pwd=1234;database=shiy"
()
= "delete from chengji where snum =" & = conn
()
= "select * from chengji"
= conn
Dim da As New SqlDataAdapter, conn)
Dim ds As New DataSet
(ds, "chengji")
()
= (0)
End Sub
6.学生界面
Private Sub Button6_Click(ByVal sender As , ByVal e As Handles
Dim denglu As New Form1
()
End Sub
Private Sub Button1_Click(ByVal sender As , ByVal e As Handles Dim conn As New SqlConnection
Dim comm As New SqlCommand
= "server=(local); uid=sa;pwd=1234;database=shiy"
()
= "select * from scourse"
= conn
Dim da As New SqlDataAdapter, conn)
Dim ds As New DataSet
(ds, "scourse")
()
= (0)
End Sub
Private Sub Button3_Click(ByVal sender As , ByVal e As
End Sub
Private Sub Button2_Click(ByVal sender As , ByVal e As Handles Dim conn As New SqlConnection
Dim comm As New SqlCommand
= "server=(local); uid=sa;pwd=1234;database=shiy"
()
= "select * from grchengji"
= conn
Dim da As New SqlDataAdapter, conn)
Dim ds As New DataSet
(ds, "grchengji")
()
= (0)
End Sub
Private Sub Button4_Click(ByVal sender As , ByVal e As Handles Dim pingjiao As New Form7
()
()
End Sub
7.网上评教
Public Class Form7
Private Sub Button1_Click(ByVal sender As , ByVal e As Handles Dim denglu As New Form6
()
()
End Sub
Private Sub Button2_Click(ByVal sender As , ByVal e As Handles MsgBox("提?¨¢交?成¨|功|")
End Class
六、系统实现结果
七、实验分工及总结
首先,在开始做课程设计时对整个模块的把握不够好,以至于浪费了好多时间而没能按想象中的顺利完成。其次,在编写各个模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都需要经过好几次修改才能顺利运行,而且在编写代码时常常会遇到一些很难解决的问题。