学 号:
课 程 设 计
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目
学生成绩管理系统
教 学 院
计算机学院
专 业
计算机科学与技术
班 级
05级二班
姓 名
指导教师
2008
年
1
月
18
日
目 录
一.概述
2
二.总体方案
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
3
三.详细设计
5
四.程序的调试与运行结果说明
19
五.课程设计总结
20
参考文献
21
一 概述
在21世纪的科技时代,科学技术突飞猛进,信息社会的高科技时代,商品经济化的高效益,计算机的应用已普及到经济和社会生活的各个领域.计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动.为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统为教学办公带来了极大的方便.该学生成绩管理系统是以VisualBasic+Access数据库+SQL数据查询语言编写.系统管理员,教师,学生只需通过简单的操作,用户都可以了解本系统软件的基本工作原理.用户只需进行输入一些简单的汉字,数字,或用鼠标点击即可达到自己想要的目标.
1. 课程设计的目的
(1) 加深对数据库系统、软件
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
、程序设计语言的理论知识的理解和应用水平;
(2) 在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;
(3) 学会将知识应用于实际的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
,提高分析和解决问题的能力,增强动手能力;
(4) 为毕业设计和以后工作打下必要基础。
(5)理解和掌握该课程中的有关基本概念,程序设计思想和方法。
(6)培养综合运用所学知识独立完成课题的能力。
(7)培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
(8)掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
2. 课程设计的要求
运用数据库基本理论与应用知识,在微机 SQL server的环境上建立一个数据库应用系统。要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和控制等操作。
1. 用e-r图设计指定题目的信息模型;
2. 设计相应的关系模型,确定数据库结构;
3. 分析关系模式各属于第几范式,阐明理由;
4. 设计应用系统的系统结构图,确定系统功能;
5. 通过设计关系的主码约束、外码约束实现完整性控制;
6. 实现应用程序设计、编程、优化功能;
7. 对系统的各个应用程序进行集成和调试,进一步优化系统功能、改善系统用户界面完成实验内容所指定的各项要求;
8. 分析遇到的问题,总结并写出课程设计报告;
9. 自我评价
二 总体方案设计
一 学生成绩管理系统设计的目标的分析
1,管理员能够实现对整个学生信息的添加,修改,删除,查询等操作,对教师用户的添加,删除,修改等操作,对留言信息的添加,删除,修改查询等操作.
2,可以将学生成绩的数据库发布到网上,教师的信息发布的网上,方便学生教师进行查询,达到资源共享的目的.
3,教师能够在一定的权限内对所有学生成绩的查询,所有教师信息的查询,留言信息的添加,删除,修改是,查看等,对的自己的联系信息进行更新,登录密码的修改.
4,学生可以在自己的权限内对对自己成绩的查询,以及个人信息的查询,登录密码的修改,留言的查看,提交留言信息的相关操作.
二 学生成绩管理系统的功能需求分析
学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台, ,查看留言,提交留言.教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言,学生留言,提交留言,留言的管理等相关操作.系统管理员可以学生可以通过该系统查阅与自己相关信息实现以上的所有功能,还有对学生的添加,删除,修改,教师的添加,删除,修改,数据库的备份,数据库的还原等相关操作.
三 系统的功能分析
该学生成绩管理系统是用Visual Basic+Access数据库+SQL查询语言编句,系统是基于网络在线的学生成绩管理系统,在系统中分为大的二个方面:一是教师登录页面,二是学生登录页面.
(1)系统管理员进入学生成绩管理系统的主要功能是:实现教师添加,教师修改,教师删除,教师查询,数据库的恢复,数据库的备份,学生的添加,学生的修改,学生的查询,学生成绩的录入,学生成绩的添加,学生成绩的修改,学生成绩的删除,留言的查询,留言的提交,留言的删除,留言的修改等基本功能.
(2)教师进入学生成绩管理系统的主要功能是:实现学生的查询,学生成绩的查询,留言的删除,留言的查询,留言的查询,密码的修改,教师的查询,教师登陆密码的更改,教师个人信息的修改等基本功能.
(3)学生进行学生成绩管量系统的主要功能是:实现学生自己怕成绩查询,自己登录密码的修改,个人信息的查询,留言的查看,提交留言的基本功能.
图1 主流程图
承担部分:
学生基本信息查询
要求可通过输入学生学号或姓名对学生基本信息的查询,可对学生基本信息进行修改和删除。
三 详细设计
学生管理模块:学生基本信息查询
图2 学生基本信息查询界面
1. 代码:
Private Sub cmdfind_Click()
Dim sql As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
sql = ""
If Trim(NoEdit.Text) = "" And Trim(NameEdit.Text) = "" Then
MsgBox "请输入你要查询的内容!", vbOKOnly + vbExclamation, "警告"
Exit Sub
Else
If NoEdit.Text <> "" And NameEdit.Text <> "" Then
sql = "select Student.Sno,Sname,Cname,Grade from Student,Course,Sc where Student.Sno = '" & Trim(NoEdit.Text) & " ' and Sname like '%" & Trim(NameEdit.Text) & "%' and Sc.Sno=Student.Sno and Course.Cno=Sc.Cno"
Set rs = TransactSQL(sql)
ElseIf NoEdit.Text <> "" And NameEdit.Text = "" Then
sql = "select Student.Sno,Sname,Cname,Grade from Student,Course,Sc where Student.Sno = '" & Trim(NoEdit.Text) & " ' and Sname like '%" & Trim(NameEdit.Text) & "%' and Sc.Sno=Student.Sno and Course.Cno=Sc.Cno"
Set rs = TransactSQL(sql)
ElseIf NoEdit.Text = "" And NameEdit.Text <> "" Then
sql = "select Student.Sno,Sname,Cname,Grade from Student,Course,Sc where Student.Sno = '" & Trim(NoEdit.Text) & " ' and Sname like '%" & Trim(NameEdit.Text) & "%' and Sc.Sno=Student.Sno and Course.Cno=Sc.Cno"
Set rs = TransactSQL(sql)
End If
End If
If rs.EOF Then
MsgBox "Sorry,无法找到你要想查询的学生的基本信息!"
Else
Sno = rs("Sno")
Sname = rs("Sname")
Sc = ""
For i = 1 To rs.RecordCount
Sc = Sc + rs("Cname") & ":" & rs("Grade") & vbCrLf
rs.MoveNext
Next
FrmGrade_Show.Label8.Caption = Sc
sql1 = "select SUM(Grade) as Sum_Grade,AVG(Grade) as Avg_Grade from Sc where Sc.Sno='" & Sno & " '"
Set rs1 = TransactSQL(sql1)
FrmGrade_Show.Text1.Text = Sno
FrmGrade_Show.Text2.Text = Sname
FrmGrade_Show.Text3.Text = rs1("Sum_Grade")
FrmGrade_Show.Text4.Text = rs1("Avg_Grade")
rs1.Close
Set rs1 = Nothing
FrmGrade_Show.Show
End If
rs.Close
Set rs = Nothing
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
总代码:
Private Sub Form_Load()
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub cmdAdd_Click()
Dim sql As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Then
MsgBox "请输入课程的所有信息!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
Else
sql = "select * from Course where Cno='" & Trim(Text1.Text)
sql = sql & "' and Cname='" & Trim(Text2.Text) & "' and Cteacher='"
sql = sql & Trim(Text3.Text) & "' and Ccredit='" & Trim(Text4.Text)
sql = sql & "'"
Set rs = TransactSQL(sql)
If rs.EOF = False Then
MsgBox "该课程已经存在,请核实后再添加!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
rs.Close
Else
sql = "select * from Course"
Set rs = TransactSQL(sql)
rs.AddNew
rs.Fields(0) = Trim(Text1.Text)
rs.Fields(1) = Trim(Text2.Text)
rs.Fields(2) = Trim(Text3.Text)
rs.Fields(3) = Trim(Text4.Text)
If Option1(0).Value = True Then
course_select = "专业"
Else
course_select = "选修"
End If
rs.Fields(4) = course_select
rs.Update
rs.Close
MsgBox "该
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
已经成功添加!", vbOKOnly + vbExclamation, "添加成功!"
Call init
End If
End If
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub init()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
Private Sub cmdfind_Click()
Dim sql As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
sql = ""
If Trim(NoEdit.Text) = "" And Trim(NameEdit.Text) = "" Then
MsgBox "请输入你要查询的内容!", vbOKOnly + vbExclamation, "警告"
Exit Sub
Else
If NoEdit.Text <> "" And NameEdit.Text <> "" Then
sql = "select * from Course "
sql = sql & " where Cno = '" & Trim(NoEdit.Text) & " ' and Cname like '%" & Trim(NameEdit.Text) & "%'"
Set rs = TransactSQL(sql)
ElseIf NoEdit.Text <> "" And NameEdit.Text = "" Then
sql = "select * from Course "
sql = sql & " where Cno = '" & Trim(NoEdit.Text) & " '"
Set rs = TransactSQL(sql)
ElseIf NoEdit.Text = "" And NameEdit.Text <> "" Then
sql = "select * from Course "
sql = sql & " where Cname like '%" & Trim(NameEdit.Text) & "%'"
Set rs = TransactSQL(sql)
End If
End If
If rs.EOF Then
MsgBox "Sorry,无法找到你要想查询的课程的基本信息!"
Else
FrmInfo_Course.Text1.Text = rs("Cno")
FrmInfo_Course.Text2.Text = rs("Cname")
FrmInfo_Course.Text3.Text = rs("Cteacher")
FrmInfo_Course.Text4.Text = rs("Ccredit")
If rs("Cselect") = "专业" Then
FrmInfo_Course.Option1(0).Value = True
Else
FrmInfo_Course.Option1(1).Value = True
End If
FrmInfo_Course.Show
End If
rs.Close
Set rs = Nothing
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Dim sql As String
Dim rs As ADODB.Recordset
Private Sub cmdAdd_Click()
Set rs = New ADODB.Recordset
If Text1.Text = "" Or Combo1.Text = "" Or Text2.Text = "" Then
MsgBox "请输入成绩的所有信息!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
Else
sql = "select Cno from Course where Cname='" & Trim(Combo1.Text) & "'"
Set rs = TransactSQL(sql)
Cno = rs("Cno")
rs.Close
sql = "select * from Student where Sno='" & Trim(Text1.Text) & "'"
Set rs = TransactSQL(sql)
If rs.EOF = True Then
MsgBox "学号为“" & Trim(Text1.Text) & "”的同学的不存在,请核实后再添加!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
rs.Close
Else
sql = "select * from Sc where Sno='" & Trim(Text1.Text) & "' And Cno='" & Cno & "'"
Set rs = TransactSQL(sql)
If rs.EOF = False Then
MsgBox "该同学的成绩已经存在,请核实后再添加!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
rs.Close
Else
sql = "select * from Sc"
Set rs = TransactSQL(sql)
rs.AddNew
rs.Fields(0) = Trim(Text1.Text)
rs.Fields(1) = Cno
rs.Fields(2) = Trim(Text2.Text)
rs.Update
rs.Close
MsgBox "该记录已经成功添加!", vbOKOnly + vbExclamation, "添加成功!"
Call init
End If
End If
End If
Set rs = Nothing
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub Form_Load()
Set rs = New ADODB.Recordset
sql = "select Cno,Cname from Course"
Set rs = TransactSQL(sql)
For i = 1 To rs.RecordCount
Combo1.AddItem rs("Cname")
rs.MoveNext
Next
Combo1.ListIndex = 0
rs.Close
Set rs = Nothing
End Sub
Private Sub init()
Text2.Text = ""
If Combo1.ListIndex >= Combo1.ListCount - 1 Then
Combo1.ListIndex = 0
Else
Combo1.ListIndex = Combo1.ListIndex + 1
End If
End Sub
Private Sub cmdfind_Click()
Dim sql As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
sql = ""
If Trim(NoEdit.Text) = "" And Trim(NameEdit.Text) = "" Then
MsgBox "请输入你要查询的内容!", vbOKOnly + vbExclamation, "警告"
Exit Sub
Else
If NoEdit.Text <> "" And NameEdit.Text <> "" Then
sql = "select Student.Sno,Sname,Cname,Grade from Student,Course,Sc where Student.Sno = '" & Trim(NoEdit.Text) & " ' and Sname like '%" & Trim(NameEdit.Text) & "%' and Sc.Sno=Student.Sno and Course.Cno=Sc.Cno"
Set rs = TransactSQL(sql)
ElseIf NoEdit.Text <> "" And NameEdit.Text = "" Then
sql = "select Student.Sno,Sname,Cname,Grade from Student,Course,Sc where Student.Sno = '" & Trim(NoEdit.Text) & " ' and Sname like '%" & Trim(NameEdit.Text) & "%' and Sc.Sno=Student.Sno and Course.Cno=Sc.Cno"
Set rs = TransactSQL(sql)
ElseIf NoEdit.Text = "" And NameEdit.Text <> "" Then
sql = "select Student.Sno,Sname,Cname,Grade from Student,Course,Sc where Student.Sno = '" & Trim(NoEdit.Text) & " ' and Sname like '%" & Trim(NameEdit.Text) & "%' and Sc.Sno=Student.Sno and Course.Cno=Sc.Cno"
Set rs = TransactSQL(sql)
End If
End If
If rs.EOF Then
MsgBox "Sorry,无法找到你要想查询的学生的基本信息!"
Else
Sno = rs("Sno")
Sname = rs("Sname")
Sc = ""
For i = 1 To rs.RecordCount
Sc = Sc + rs("Cname") & ":" & rs("Grade") & vbCrLf
rs.MoveNext
Next
FrmGrade_Show.Label8.Caption = Sc
sql1 = "select SUM(Grade) as Sum_Grade,AVG(Grade) as Avg_Grade from Sc where Sc.Sno='" & Sno & " '"
Set rs1 = TransactSQL(sql1)
FrmGrade_Show.Text1.Text = Sno
FrmGrade_Show.Text2.Text = Sname
FrmGrade_Show.Text3.Text = rs1("Sum_Grade")
FrmGrade_Show.Text4.Text = rs1("Avg_Grade")
rs1.Close
Set rs1 = Nothing
FrmGrade_Show.Show
End If
rs.Close
Set rs = Nothing
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Label8_Click()
End Sub
Dim sql As String
Dim rs As ADODB.Recordset
Private Sub cmdDel_Click()
Set rs = New ADODB.Recordset
If Text1.Text = "" Then
MsgBox "请你输入要删除的课程编号!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
Exit Sub
End If
sql = "select * from Course where Cno='" & Trim(Text1.Text) & "'"
Set rs = TransactSQL(sql)
If rs.EOF Then
MsgBox "不存在该课程,请确认之后再删除!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
rs.Close
Exit Sub
End If
sql = "delete from Course where Cno='" & Trim(Text1.Text) & " '"
If MsgBox("确定要删除课程编号为" & Text1.Text & "的所有信息吗?", vbOKCancel + vbExclamation, "提示!") = vbOK Then
TransactSQL (sql)
MsgBox "该课程的所有信息已经删除!", vbOKOnly + vbExclamation, "警告!"
Unload Me
End If
End Sub
Private Sub cmdMod_Click()
Set rs = New ADODB.Recordset
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Then
MsgBox "请你输入要想修改的课程编号以及相关的所有信息!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
Exit Sub
End If
sql = "select * from Course where Cno='" & Trim(Text1.Text) & "'"
Set rs = TransactSQL(sql)
If rs.EOF Then
MsgBox "无法找到该课程的基本信息,请核实后再修改!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
rs.Close
Exit Sub
End If
If MsgBox("确定要修改课程编号为" & Text1.Text & "的基本信息吗?", vbOKCancel) = vbOK Then
sql = "update Course set Cname='" & Trim(Text2.Text) & "'"
If Option1(0).Value = True Then
course_select = "专业"
Else
course_select = "选修"
End If
sql = sql & ",Cteacher= '" & Trim(Text3.Text) & "',Ccredit= " & Trim(Text4.Text) & ",Cselect='" & course_select & "'"
sql = sql & " where Cno='" & Trim(Text1.Text) & "'"
TransactSQL (sql)
MsgBox "该课程的基本信息已经修改!", vbOKOnly + vbExclamation, "修改成功!"
Unload Me
End If
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Dim sql As String
Dim rs As ADODB.Recordset
Private Sub cmdDel_Click()
Set rs = New ADODB.Recordset
If Text1.Text = "" Then
MsgBox "请你输入要删除的学生的学号!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
Exit Sub
End If
sql = "select * from Student where Sno='" & Trim(Text1.Text) & "'"
Set rs = TransactSQL(sql)
If rs.EOF Then
MsgBox "不存在该学生,请确认之后再删除!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
rs.Close
Exit Sub
End If
sql = "delete from Student where Sno='" & Trim(Text1.Text) & " '"
If MsgBox("确定要删除学号为" & Text1.Text & "的所有信息吗?", vbOKCancel + vbExclamation, "提示!") = vbOK Then
TransactSQL (sql)
MsgBox "该学生的所有信息已经删除!", vbOKOnly + vbExclamation, "警告!"
Unload Me
End If
End Sub
Private Sub cmdMod_Click()
Set rs = New ADODB.Recordset
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Then
MsgBox "请你输入要想修改的学生的学号以及相关的所有信息!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
Exit Sub
End If
sql = "select * from Student where Sno='" & Trim(Text1.Text) & "'"
Set rs = TransactSQL(sql)
If rs.EOF Then
MsgBox "无法找到该学生的基本信息,请核实后再修改!", vbOKOnly + vbExclamation, "警告!"
Text1.SetFocus
rs.Close
Exit Sub
End If
If MsgBox("确定要修改学号为" & Text1.Text & "的基本信息吗?", vbOKCancel) = vbOK Then
sql = "update Student set Sname='" & Trim(Text2.Text)
sql = sql & " ',Ssex= '" & Trim(Text3.Text) & "',Sage=" & Text4.Text
sql = sql & ",Splace='" & Trim(Text5.Text) & " ',Spolity='" & Trim(Text6.Text) & "',Stime='" & Trim(Text7.Text)
sql = sql & " ',Steleph='" & Trim(Text8.Text) & " ' where Sno='" & Trim(Text1.Text) & " ';"
TransactSQL (sql)
MsgBox "该学生的基本信息已经修改!", vbOKOnly + vbExclamation, "修改成功!"
Unload Me
End If
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub init()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
End Sub
四 程序的调试与运行结果说明
调试过程:
图3 错误
图4 调试
图5 学生基本信息查询结果
五 课程设计总结
随着计算机技术的不断发展,用计算机代替人工进行各种各样的管理逐渐变成了实现,从而对人才综合素质的要求也就越来越高。
为了使我们较快的适应社会的发展的需要,老师为我们提供了一系列综合性、适用性较强的毕业设计课题,从而使之成为我们了解社会需求,应用知识的实践课题。
通过这次课程设计,我深深的认识到,如果仅仅只是运用理论知识,是远远不够的。我们必须理论联系实际,才能很好的将《数据库原理》这门课程学好,并用于实际案例中。
同时,经过这次课程设计,我发觉自己的动手操作能力变强了,也为自己对以后的科研、工作充满信息和希望打下了良好的基础。
参考文献
1.SQL Server 2000数据库开发从零开始 作者:(新西兰)霍索恩著 袁鹏飞译 出版社:人民邮电出版社 出版日期:2001-8-1
2.ViSual Basic 6.0数据库开发 作者:E.Winemiller J.Roff/B.Heyman R.Groom 出版社:清华大学出版社
3.Visual Basic数据库开发自学教程 作者:孙越 出版社:人民邮电出版社 出版日期:2002-10
4.Viusal Basic程序设计教程习题及习题解答(第2版) 作者:刘瑞新/汪远征 出版社:机械工业出版社出版日期:2006-08
5.Visual Basic.NET实用编程100例 作者:付军编 出版社:中国铁道出版社 出版日期:2003-05
6.Visual Basic.NET程序员查询辞典 作者:(美国)拉梅尔著//陈君 出版社:中国铁道出版社 出版日期:2003-01
数据库课程设计成绩评定
答辩质疑记录
指导老师评语
综合评定成绩:
指导老师签名:
年 月 日
PAGE
22