宝玛科技网
您的当前位置:首页教学管理系统数据库课程设计

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

来源:宝玛科技网


数据库课程设计报告

教学管理系统

实验题目: 教学管理系统

教学管理系统

目录

一、

概述.................................................................................................................. 3

二、总体设计................................................................................................................ 3 1、软件环境: .......................................................................................................... 3 2、硬件环境: .......................................................................................................... 3 三、实验主要内容........................................................................................................ 3 1、主要数据表 .......................................................................................................... 3 2、功能模块 .............................................................................................................. 3 四、系统分析报告........................................................................................................ 3 1、数据流图 .............................................................................................................. 3 2、系统功能模块 ...................................................................................................... 5 3、业务流图 .............................................................................................................. 5 4、系统数据模型设计 .............................................................................................. 6 五、代码实现................................................................................................................ 8 1.登录界面 ................................................................................................................. 9 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图

学生 选修课程 考试 授课

成绩

各实体E-R图: 学生信息: 姓名

登录密码 学生 学号

课程信息:

课程号 课程名

课程信息

登录密码 上课教室 上课时间

教师

教师信息:

教师编号 姓名 教师

登录密码

学生成绩: 学号 课程号 学生成绩 课程名 成绩 (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()

cmd.CommandText = 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()

cmd.CommandText = 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()

cmd.CommandText = \"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()

cmd.CommandText = \"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()

comm.CommandText = \"select * from course where coursenum ='\" & Me.TextBox1.Text & \"' and courxseclass='\" & Me.TextBox2.Text & \"'\" comm.Connection = conn

comm.CommandText = \"select coursename from course where coursenum ='\" & Me.TextBox1.Text & \"' and courxseclass='\" & Me.TextBox2.Text & \"'\" Me.TextBox3.Text = comm.ExecuteScalar

comm.Connection = conn

comm.CommandText = \"select coursetime from course where coursenum ='\" & Me.TextBox1.Text & \"' and courxseclass='\" & Me.TextBox2.Text & \"'\" Me.TextBox4.Text = comm.ExecuteScalar

comm.Connection = conn

comm.CommandText = \"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()

comm.CommandText = \"select * from chengji\" comm.Connection = conn

Dim da As New SqlDataAdapter(comm.CommandText, 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()

comm.CommandText = \"insert into chengji values('\" & Me.TextBox2.Text & \"','\" & Me.TextBox3.Text & \"','\" & Me.TextBox4.Text & \"','\" & Me.TextBox5.Text & \"')\" comm.Connection = conn comm.ExecuteNonQuery()

comm.CommandText = \"select * from chengji\" comm.Connection = conn

Dim da As New SqlDataAdapter(comm.CommandText, 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()

comm.CommandText = \"update chengji set snum='\" & Me.TextBox2.Text & \"',coursenum=\" & Me.TextBox3.Text & \ & Me.TextBox4.Text & \"',coursegrade='\" & Me.TextBox5.Text & \"' where snum='\" & Me.TextBox2.Text & \"'\" comm.Connection = conn comm.ExecuteNonQuery()

comm.CommandText = \"select * from chengji\" comm.Connection = conn

Dim da As New SqlDataAdapter(comm.CommandText, 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()

comm.CommandText = \"delete from chengji where snum =\" & Me.TextBox2.Text comm.Connection = conn

comm.ExecuteNonQuery()

comm.CommandText = \"select * from chengji\" comm.Connection = conn

Dim da As New SqlDataAdapter(comm.CommandText, 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()

comm.CommandText = \"select * from scourse\" comm.Connection = conn

Dim da As New SqlDataAdapter(comm.CommandText, 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()

comm.CommandText = \"select * from grchengji\"

comm.Connection = conn

Dim da As New SqlDataAdapter(comm.CommandText, 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

六、系统实现结果

七、实验分工及总结

首先,在开始做课程设计时对整个模块的把握不够好,以至于浪费了好多时间而没能按想象中的顺利完成。其次,在编写各个模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都需要经过好几次修改才能顺利运行,而且在编写代码时常常会遇到一些很难解决的问题。

因篇幅问题不能全部显示,请点此查看更多更全内容