教学管理系统数据库课程设计.docx
《教学管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《教学管理系统数据库课程设计.docx(20页珍藏版)》请在冰豆网上搜索。
教学管理系统数据库课程设计
数据库课程设计报告
教学管理系统
实验题目:
教学管理系统
教学管理系统
一、概述3
二、总体设计3
1、软件环境:
3
2、硬件环境:
3
三、实验主要内容3
1、主要数据表4
2、功能模块4
四、系统分析报告4
1、数据流图4
2、系统功能模块5
3、业务流图5
4、系统数据模型设计6
五、代码实现9
1.登录界面9
2.注册界面11
3.教师界面13
4.课表管理14
5.成绩管理15
6.学生界面16
7.网上评教18
六、系统实现结果18
七、实验分工及总结23
一、概述
数据库课程设计是集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合的实践练习,主要目的在于加深学生对数据库基础理论和基本知识的理解,熟悉数据库的设计方法,掌握基于数据库的信息管理系统的开发方法,进一步加强学生综合运用知识和实践动手的能力。
学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。
二、总体设计
1、软件环境:
VisualStudio2010、SQLServerManagementStudio
2、硬件环境:
PC机
三、实验主要内容
1、主要数据表
课程信息表,学生信息表单,教师信息表,学生成绩表等。
2、功能模块
(1)课程设置,包括:
查询、添加、删除、查询和修改课程信息
(2)学生成绩查询,网上评教。
(3)教师查询课程时间和教室的安排。
(4)教师管理学生成绩查询,添加,修改,删除。
(5)学生和教师信息的注册。
四、系统分析报告
1、数据流图
教学管理系统的基本数据流图如下所示:
学生选课信息
新增课程
课程信息
选课审核信息
图1教学管理系统的基本数据流图
学生成绩信息
学生考试信息
学生信息管理
个人考试信息
成绩确认信息
图2教学管理系统的基本数据流图
排课信息
个人考试成绩
排课信息排课信息
排课信息
图3教学管理系统的基本数据流图
2、系统功能模块
本系统主要包括学生信息管理、课程信息管理、成绩信息管理等模块,另外还包括进行系统管理的一些辅助模块。
其示意图如下:
3、业务流图
4、系统数据模型设计
(1)系统ER图
各实体E-R图:
学生信息:
课程信息:
教师信息:
学生成绩:
(2)关系模式
学生信息(姓名,学号,登录密码)
课程信息(课程号,课程名,上课教室,登录密码,)
教师信息(教师编号,姓名,登录密码)
学生成绩(学号,课程号,课程名,成绩)
(3)数据表
课程信息表
教师信息表
个人成绩表
学生成绩表
学生课表
五、代码实现
1.登录界面
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
Dimmin,max,rndnum,iAsInteger
min=10
max=99
TextBox4.Text=""
Fori=0To1
rndnum=CStr(CInt(min+Rnd()*(max-min)))
TextBox4.Text=TextBox4.Text&""&rndnum
Next
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
DimConnStrAsString="Server=(local);uid=sa;pwd=1234;database=shiy"
DimcnAsSqlClient.SqlConnection=NewSqlClient.SqlConnection(ConnStr)'建?
§立¢?
é连¢?
接¨?
对?
象¨?
,ê?
同a?
时o?
à说|ì明?
?
连¢?
接¨?
字á?
符¤?
串?
?
DimcmdAsNewSqlClient.SqlCommand'生|¨2成¨|命¨1令¢?
对?
象¨?
,ê?
用?
?
于?
¨2执?
?
行DSQL语?
?
句?
DimdrAsIDataReader'用?
?
来¤?
?
临¢¨′时o?
à存?
?
放¤?
执?
?
行D语?
?
句?
后¨?
的ì?
结¨¢果?
DimSQLStrAsString
IfRadioButton1.Checked=TrueThen
SQLStr="select*fromteacherwheretusernum="+"'"+TextBox1.Text+"'"
cmd.Connection=cn
cn.Open()
cmd.CommandText=SQLStr
dr=cmd.ExecuteReader()
Ifdr.Read()Then
Ifdr!
tpwd.ToString().Trim=TextBox2.TextThen
IfTextBox3.Text=TextBox4.TextThen
MsgBox("登ì?
录?
成¨|功|")
DimjiaoshiAsNewForm3
jiaoshi.ShowDialog()
Hide()
Else
MsgBox("验¨|证?
è码?
错?
¨a误¨?
")
EndIf
Else
MsgBox("密¨1码?
不?
正y确¨?
¤")
EndIf
Else
MsgBox("该?
用?
?
户?
ì不?
存?
?
在¨2")
EndIf
dr.Close()
cn.Close()
Else
SQLStr="select*fromstudentwheresnum="+"'"+TextBox1.Text+"'"
cmd.Connection=cn
cn.Open()
cmd.CommandText=SQLStr
dr=cmd.ExecuteReader()
Ifdr.Read()Then
Ifdr!
spwd.ToString().Trim=TextBox2.TextThen
IfTextBox3.Text=TextBox4.TextThen
MsgBox("登ì?
录?
成¨|功|")
DimxueshengAsNewForm6
xuesheng.Show()
Me.Hide()
Else
MsgBox("验¨|证?
è码?
错?
¨a误¨?
")
EndIf
Else
MsgBox("密¨1码?
不?
正y确¨?
¤")
EndIf
Else
MsgBox("该?
用?
?
户?
ì不?
存?
?
在¨2")
EndIf
dr.Close()
cn.Close()
EndIf
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimzhuceAsNewForm2
zhuce.Show()
Me.Hide()
EndSub
2.注册界面
PublicClassForm2
DimobjDSAsNewDataSet
DimobjXSTableAsDataTable
DimobjdaAsNewSqlClient.SqlDataAdapter
DimcnAsNewSqlClient.SqlConnection("server=(local);uid=sa;pwd=1234;database=shiy")
PublicSubrefreshdata()
objda.Update(objDS,"teacher")'第ì¨2二t个?
参?
数oy为a需¨¨要°a更¨1新?
数oy据Y库a表à¨a名?
objXSTable.Clear()
Me.zhuce_Click(Nothing,Nothing)
objDS.AcceptChanges()
EndSub
PrivateSubzhuce_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handleszhuce.Click
DimcmdAsNewSqlClient.SqlCommand
cmd.Connection=cn'数oy据Y从?
¨?
当ì?
à前?
?
建?
§立¢?
é的ì?
连¢?
接¨?
cn中D进?
入¨?
IfRadioButton1.Checked=TrueThen
DimbuilderAsSqlClient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(objda)
Try
cn.Open()
cmd.CommandText="select*fromteacher"
objda.SelectCommand=cmd
objda.Fill(objDS,"teacher")
objXSTable=objDS.Tables("teacher")
cn.Close()
DimresponseAsMsgBoxResult
response=MsgBox("确¨?
¤实o|ì要°a注á?
é册¨¢吗e?
ê?
",vbOKCancel+vbQuestion,"系|ì统a3提?
¨¢示o?
")
Ifresponse=MsgBoxResult.OkThen
DimmyRowAsDataRow
myRow=objXSTable.NewRow
myRow("tusernum")=TextBox1.Text
myRow("tusername")=username1.Text
myRow("tpwd")=mima1.Text
objda.Update(objDS,"teacher")
objDS.AcceptChanges()
refreshdata()
EndIf
CatchexAsException
EndTry
Else
DimbuilderAsSqlClient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(objda)
cn.Open()
cmd.CommandText="select*fromstudent"
objda.SelectCommand=cmd
objda.Fill(objDS,"student")
objXSTable=objDS.Tables("student")
cn.Close()
DimresponseAsMsgBoxResult
response=MsgBox("确¨?
¤实o|ì要°a注á?
é册¨¢吗e?
ê?
",vbOKCancel+vbQuestion,"系|ì统a3提?
¨¢示o?
")
Ifresponse=MsgBoxResult.OkThen
DimmyRowAsDataRow
myRow=objXSTable.NewRow
myRow("snum")=TextBox1.Text
myRow("sname")=username1.Text
myRow("spwd")=mima1.Text
objda.Update(objDS,"student")
objDS.AcceptChanges()
refreshdata()
EndIf
EndIf
DimdengluAsNewForm1
denglu.Show()
Me.Hide()
EndSub
PrivateSubchongzhi_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handleschongzhi.Click
username1.Text=""
mima1.Text=""
qmima1.Text=""
EndSub
EndClass
3.教师界面
PublicClassForm3
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimkebiaoAsNewForm4
kebiao.Show()
Me.Hide()
EndSub
PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click
DimdengluAsNewForm1
denglu.Show()
Me.Hide()
EndSub
PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
DimchengjigAsNewForm5
chengjig.Show()
Me.Hide()
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
EndSub
4.课表管理
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
conn.ConnectionString="server=(local);uid=sa;pwd=1234;database=shiy"
conn.Open()
comm.CommandText="select*fromcoursewherecoursenum='"&Me.TextBox1.Text&"'andcourxseclass='"&Me.TextBox2.Text&"'"
comm.Connection=conn
comm.CommandText="selectcoursenamefromcoursewherecoursenum='"&Me.TextBox1.Text&"'andcourxseclass='"&Me.TextBox2.Text&"'"
Me.TextBox3.Text=comm.ExecuteScalar
comm.Connection=conn
comm.CommandText="selectcoursetimefromcoursewherecoursenum='"&Me.TextBox1.Text&"'andcourxseclass='"&Me.TextBox2.Text&"'"
Me.TextBox4.Text=comm.ExecuteScalar
comm.Connection=conn
comm.CommandText="selectcourseaddressfromcoursewherecoursenum='"&Me.TextBox1.Text&"'andcourxseclass='"&Me.TextBox2.Text&"'"
Me.TextBox5.Text=comm.ExecuteScalar
comm.Connection=conn
conn.Close()
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
DimjiaoshijiemianAsNewForm3
jiaoshijiemian.Show()
Me.Hide()
EndSub
5.成绩管理
Imports
PublicClassForm5
PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.Click
DimjiaoshiAsNewForm3
jiaoshi.Show()
Me.Hide()
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
conn.ConnectionString="server=(local);uid=sa;pwd=1234;database=shiy"
conn.Open()
comm.CommandText="select*fromchengji"
comm.Connection=conn
DimdaAsNewSqlDataAdapter(comm.CommandText,conn)
DimdsAsNewDataSet
da.Fill(ds,"chengji")
conn.Close()
Me.DataGridView1.DataSource=ds.Tables(0)
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
conn.ConnectionString="server=(local);uid=sa;pwd=1234;database=shiy"
conn.Open()
comm.CommandText="insertintochengjivalues('"&Me.TextBox2.Text&"','"&Me.TextBox3.Text&"','"&Me.TextBox4.Text&"','"&Me.TextBox5.Text&"')"
comm.Connection=conn
comm.ExecuteNonQuery()
comm.CommandText="select*fromchengji"
comm.Connection=conn
DimdaAsNewSqlDataAdapter(comm.CommandText,conn)
DimdsAsNewDataSet
da.Fill(ds,"chengji")
conn.Close()
Me.DataGridView1.DataSource=ds.Tables(0)
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
conn.ConnectionString="server=(local);uid=sa;pwd=1234;database=shiy"
conn.Open()
comm.CommandText="updatechengjisetsnum='"&Me.TextBox2.Text&"',coursenum="&Me.TextBox3.Text&",coursename='"&Me.TextBox4.Text&"',coursegrade='"&Me.TextBox5.Text&"'wheresnum='"&Me.TextBox2.Text&"'"
comm.Connection=conn
comm.ExecuteNonQuery()
comm.CommandText="select*fromchengji"
comm.Connection=conn
DimdaAsNewSqlDataAdapter(comm.CommandText,conn)
DimdsAsNewDataSet
da.Fill(ds,"chengji")
conn.Close()
Me.DataGridView1.DataSource=ds.Tables(0)
EndSub
PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click
DimconnAsNewSqlC