教学管理系统数据库课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库课程设计报告
教学管理系统
实验题目:教学管理系统
教学管理系统
目录
一、概述 (2)
二、总体设计 (3)
1、软件环境: (3)
2、硬件环境: (3)
三、实验主要内容 (3)
1、主要数据表 (3)
2、功能模块 (3)
四、系统分析报告 (3)
1、数据流图 (3)
2、系统功能模块 (4)
3、业务流图 (5)
4、系统数据模型设计 (5)
五、代码实现 (8)
1.登录界面 (8)
2.注册界面 (10)
3.教师界面 (12)
4.课表管理 (13)
5.成绩管理 (14)
6.学生界面 (16)
7.网上评教 (17)
六、系统实现结果 (17)
七、实验分工及总结 (22)
一、概述
数据库课程设计是集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合的实践练习,主要目的在于加深学生对数据库基础理论和基本知识的理解,熟悉数据库的设计方法,掌握基于数据库的信息管理系统的开发方法,进一步加强学生综合运用知识和实践动手的能力。

学生根据所学的数据库原理和程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。

二、总体设计
1、软件环境:
Visual Studio 2010、SQL Server Management Studio
2、硬件环境:
PC机
三、实验主要内容
1、主要数据表
课程信息表,学生信息表单,教师信息表,学生成绩表等。

2、功能模块
(1)课程设置,包括:查询、添加、删除、查询和修改课程信息
(2)学生成绩查询,网上评教。

(3)教师查询课程时间和教室的安排。

(4)教师管理学生成绩查询,添加,修改,删除。

(5)学生和教师信息的注册。

四、系统分析报告
1、数据流图
教学管理系统的基本数据流图如下所示:
学生选课信息
课程信息
图1教学管理系统的基本数据流图
学生成绩信息
成绩确认信息
图 2 教学管理系统的基本数据流图
排课信息
图3 教学管理系统的基本数据流图
2、系统功能模块
本系统主要包括学生信息管理、课程信息管理、成绩信息管理等模块,另外还包括进行系统管理的一些辅助模块。

其示意图如下:
3、业务流图
4、系统数据模型设计
学生信息管理 教师信息管

信息注册
查询信息 课表管理
课名查询 教室查询
成绩管理
查询
添加 教师信息注册
学生信息注册
教学管理系统
课程信息 成
绩查询 网上评教
删除
(1)系统ER图
各实体
课程信息:
学生成绩:
(2)关系模式
学生信息(姓名,学号,登录密码)
课程信息(课程号,课程名,上课教室,登录密码,)
教师信息(教师编号,姓名,登录密码)
学生成绩(学号,课程号,课程名,成绩)(3)数据表
课程信息表
学生成绩
学号课程号
成绩
课程名
教师
教师编号姓名
登录密码
教师信息表
个人成绩表
学生成绩表
学生课表
五、代码实现
1.登录界面
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim min, max, rndnum, i As Integer
min = 10
max = 99
TextBox4.Text = ""
For i = 0 To 1
rndnum = CStr(CInt(min + Rnd() * (max - min)))
TextBox4.Text = TextBox4.Text & "" & rndnum
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim ConnStr As String = "Server=(local);uid=sa;pwd=1234;database=shiy"
Dim cn As SqlClient.SqlConnection = New SqlClient.SqlConnection(ConnStr) '建¡§立¢¡é连¢?接¨®对?象¨®,ê?同ª?时º¡À说¦Ì明¡Â连¢?接¨®字Á?符¤?串ä?
Dim cmd As New SqlClient.SqlCommand'生¦¨²成¨¦命¨¹令¢?对?象¨®,ê?用®?于®¨²执¡ä行DSQL语®?句?
Dim dr As IDataReader'用®?来¤¡ä临¢¨´时º¡À存ä?放¤?执¡ä行D语®?句?后¨®的Ì?结¨¢果?
Dim SQLStr As String
If RadioButton1.Checked = True Then
SQLStr = "select * from teacher where tusernum=" + "'" + TextBox1.Text + "'" cmd.Connection = cn
cn.Open()
mandText = SQLStr
dr = cmd.ExecuteReader()
If dr.Read() Then
If dr!tpwd.ToString().Trim = TextBox2.Text Then
If TextBox3.Text = TextBox4.Text Then
MsgBox("登Ì?录?成¨¦功|")
Dim jiaoshi As New Form3
jiaoshi.ShowDialog()
Hide()
Else
MsgBox("验¨¦证¡è码?错䨪误¨®")
End If
Else
MsgBox("密¨¹码?不?正y确¨¡¤")
End If
Else
MsgBox("该?用®?户¡ì不?存ä?在¨²")
End If
dr.Close()
cn.Close()
Else
SQLStr = "select * from student where snum=" + "'" + TextBox1.Text + "'"
cmd.Connection = cn
cn.Open()
mandText = SQLStr
dr = cmd.ExecuteReader()
If dr.Read() Then
If dr!spwd.ToString().Trim = TextBox2.Text Then
If TextBox3.Text = TextBox4.Text Then
MsgBox("登Ì?录?成¨¦功|")
Dim xuesheng As New Form6
xuesheng.Show()
Me.Hide()
Else
MsgBox("验¨¦证¡è码?错䨪误¨®")
End If
Else
MsgBox("密¨¹码?不?正y确¨¡¤")
End If
Else
MsgBox("该?用®?户¡ì不?存ä?在¨²")
End If
dr.Close()
cn.Close()
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim zhuce As New Form2
zhuce.Show()
Me.Hide()
End Sub
2.注册界面
Public Class Form2
Dim objDS As New DataSet
Dim objXSTable As DataTable
Dim objda As New SqlClient.SqlDataAdapter
Dim cn As New SqlClient.SqlConnection("server=(local);uid=sa;pwd=1234;database=shiy")
Public Sub refreshdata()
objda.Update(objDS, "teacher") '第̨²二t个?参?数ºy为a需¨¨要°a更¨¹新?数ºy据Y库a表À¨ª名?
objXSTable.Clear()
Me.zhuce_Click(Nothing, Nothing)
objDS.AcceptChanges()
End Sub
Private Sub zhuce_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles zhuce.Click
Dim cmd As New SqlClient.SqlCommand
cmd.Connection = cn '数ºy据Y从䨮当Ì¡À前¡ã建¡§立¢¡é的Ì?连¢?接¨®cn中D进?入¨?
If RadioButton1.Checked = True Then
Dim builder As SqlClient.SqlCommandBuilder = New
SqlClient.SqlCommandBuilder(objda)
Try
cn.Open()
mandText = "select * from teacher"
objda.SelectCommand = cmd
objda.Fill(objDS, "teacher")
objXSTable = objDS.Tables("teacher")
cn.Close()
Dim response As MsgBoxResult
response = MsgBox("确¨¡¤实º¦Ì要°a注Á¡é册¨¢吗e?ê?", vbOKCancel + vbQuestion, "系¦Ì统ª3提¬¨¢示º?")
If response = MsgBoxResult.Ok Then
Dim myRow As DataRow
myRow = objXSTable.NewRow
myRow("tusernum") = TextBox1.Text
myRow("tusername") = username1.Text
myRow("tpwd") = mima1.Text
objXSTable.Rows.Add(myRow)
objda.Update(objDS, "teacher")
objDS.AcceptChanges()
refreshdata()
End If
Catch ex As Exception
End Try
Else
Dim builder As SqlClient.SqlCommandBuilder = New
SqlClient.SqlCommandBuilder(objda)
cn.Open()
mandText = "select * from student"
objda.SelectCommand = cmd
objda.Fill(objDS, "student")
objXSTable = objDS.Tables("student")
cn.Close()
Dim response As MsgBoxResult
response = MsgBox("确¨¡¤实º¦Ì要°a注Á¡é册¨¢吗e?ê?", vbOKCancel + vbQuestion, "系¦Ì统ª3提¬¨¢示º?")
If response = MsgBoxResult.Ok Then
Dim myRow As DataRow
myRow = objXSTable.NewRow
myRow("snum") = TextBox1.Text
myRow("sname") = username1.Text
myRow("spwd") = mima1.Text
objXSTable.Rows.Add(myRow)
objda.Update(objDS, "student")
objDS.AcceptChanges()
refreshdata()
End If
End If
Dim denglu As New Form1
denglu.Show()
Me.Hide()
End Sub
Private Sub chongzhi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chongzhi.Click
username1.Text = ""
mima1.Text = ""
qmima1.Text = ""
End Sub
End Class
3.教师界面
Public Class Form3
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim kebiao As New Form4
kebiao.Show()
Me.Hide()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button4.Click
Dim denglu As New Form1
denglu.Show()
Me.Hide()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim chengjig As New Form5
chengjig.Show()
Me.Hide()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
4.课表管理
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conn As New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = "server=(local); uid=sa;pwd=1234;database=shiy"
conn.Open()
mandText = "select * from course where coursenum ='" & Me.TextBox1.Text & "' and courxseclass='" & Me.TextBox2.Text & "'"
comm.Connection = conn
mandText = "select coursename from course where coursenum ='" &
Me.TextBox1.Text & "' and courxseclass='" & Me.TextBox2.Text & "'"
Me.TextBox3.Text = comm.ExecuteScalar
comm.Connection = conn
mandText = "select coursetime from course where coursenum ='" &
Me.TextBox1.Text & "' and courxseclass='" & Me.TextBox2.Text & "'"
Me.TextBox4.Text = comm.ExecuteScalar
comm.Connection = conn
mandText = "select courseaddress from course where coursenum ='" &
Me.TextBox1.Text & "' and courxseclass='" & Me.TextBox2.Text & "'"
Me.TextBox5.Text = comm.ExecuteScalar
comm.Connection = conn
conn.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim jiaoshijiemian As New Form3
jiaoshijiemian.Show()
Me.Hide()
End Sub
5.成绩管理
Imports System.Data.SqlClient
Public Class Form5
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim jiaoshi As New Form3
jiaoshi.Show()
Me.Hide()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conn As New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = "server=(local); uid=sa;pwd=1234;database=shiy"
conn.Open()
mandText = "select * from chengji"
comm.Connection = conn
Dim da As New SqlDataAdapter(mandText, conn)
Dim ds As New DataSet
da.Fill(ds, "chengji")
conn.Close()
Me.DataGridView1.DataSource = ds.Tables(0)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim conn As New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = "server=(local); uid=sa;pwd=1234;database=shiy"
conn.Open()
mandText = "insert into chengji values('" & Me.TextBox2.Text & "','" & Me.TextBox3.Text & "','" & Me.TextBox4.Text & "','" & Me.TextBox5.Text & "')"
comm.Connection = conn
comm.ExecuteNonQuery()
mandText = "select * from chengji"
comm.Connection = conn
Dim da As New SqlDataAdapter(mandText, conn)
Dim ds As New DataSet
da.Fill(ds, "chengji")
conn.Close()
Me.DataGridView1.DataSource = ds.Tables(0)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim conn As New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = "server=(local); uid=sa;pwd=1234;database=shiy"
conn.Open()
mandText = "update chengji set snum='"& Me.TextBox2.Text & "',coursenum=" & Me.TextBox3.Text & ",coursename='" & Me.TextBox4.Text & "',coursegrade='" &
Me.TextBox5.Text & "' where snum='" & Me.TextBox2.Text & "'"
comm.Connection = conn
comm.ExecuteNonQuery()
mandText = "select * from chengji"
comm.Connection = conn
Dim da As New SqlDataAdapter(mandText, conn)
Dim ds As New DataSet
da.Fill(ds, "chengji")
conn.Close()
Me.DataGridView1.DataSource = ds.Tables(0)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim conn As New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = "server=(local); uid=sa;pwd=1234;database=shiy"
conn.Open()
mandText = "delete from chengji where snum =" & Me.TextBox2.Text
comm.Connection = conn
comm.ExecuteNonQuery()
mandText = "select * from chengji"
comm.Connection = conn
Dim da As New SqlDataAdapter(mandText, conn)
Dim ds As New DataSet
da.Fill(ds, "chengji")
conn.Close()
Me.DataGridView1.DataSource = ds.Tables(0)
End Sub
6.学生界面
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Dim denglu As New Form1
denglu.Show()
Me.Hide()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conn As New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = "server=(local); uid=sa;pwd=1234;database=shiy"
conn.Open()
mandText = "select * from scourse"
comm.Connection = conn
Dim da As New SqlDataAdapter(mandText, conn)
Dim ds As New DataSet
da.Fill(ds, "scourse")
conn.Close()
Me.DataGridView1.DataSource = ds.Tables(0)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim conn As New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = "server=(local); uid=sa;pwd=1234;database=shiy"
conn.Open()
mandText = "select * from grchengji"
comm.Connection = conn
Dim da As New SqlDataAdapter(mandText, conn)
Dim ds As New DataSet
da.Fill(ds, "grchengji")
conn.Close()
Me.DataGridView1.DataSource = ds.Tables(0)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim pingjiao As New Form7
pingjiao.Show()
Me.Hide()
End Sub
7.网上评教
Public Class Form7
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim denglu As New Form6
denglu.Show()
Me.Hide()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
MsgBox("提¬¨¢交?成¨¦功|")
End Sub
End Class
六、系统实现结果
七、实验分工及总结
首先,在开始做课程设计时对整个模块的把握不够好,以至于浪费了好多时间而没能按想象中的顺利完成。

其次,在编写各个模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都需要经过好几次修改才能顺利运行,而且在编写代码时常常会遇到一些很难解决的问题。

相关文档
最新文档