黔 东 南 民 族 职 业 技 术 学 院
学生管理系统
课程名称为:用于VB学生管理系统的应用和实现
姓名: ***
专业: 计算机应用技术 班级: 11计算机班 指 导 老 师: 杨波老师 制作时间: 2013年 6月8日
-1
黔东南民族职业技术学院
一、 功能描述
该学生成绩管理系统是用Visual Basic 制作的,该系统可以实现教师进行对学生的成绩管理,添加学生用户以及可以查询学生的成绩;还实现学生用户通过登录系统可以查询到自己的各科课程成绩以及修改自己的登录密码;还有的是教师用户和学生用户可以退出系统。
该系统采用了对窗体、基本控件的应用,选择结构的if语句,循环结构的循环语句for…next结构,菜单设计,过程,数据文件来构建整个程序。 在此报告中重点叙述了学生成绩系统的各个功能,特别是学生的成绩查询和密码修改以及教师和学生的登录。整个系统会以系统结构图、程序流程图、功能模块,让大家能知晓该系统的功能。
二、 概要设计
1.1、目标
本系统的目标是建立一套可以对学生的成绩的管理、查询学生的各科成绩、对学生的密码修改的学生成绩管理系统。该系统可以帮助我们更方便的管理学生的成绩,替代了以前的手工操作管理学生的成绩,节约我们珍贵的时间。
1.2、需求分析
根据该系统的需求分析,系统的需求可以分为以下的几个方面:
1.2.1、鼠标操作
你可以利用鼠标点击界面的某些按钮来实现对系统的有关操作。
1.2.2、键盘操作
你可以利用键盘对该系统的某些操作。
-2
黔东南民族职业技术学院
该学生管理系统分为三个模块:如图1-1所示:
管理员登录界面 学教计系退生师划统出信信管管系息息理理统 班 名数级 称据设设备置 置份
学生管理系统 教师登录界面 个课学人教打程生密师印成成码课报绩绩修程 表管录改 理入 任教数数务师据据查基添修询本加改打信 印息 图1-1 系统结构图
-3
学生登录界面 学班生打级个退基印课成出本报询程 人 绩系信表成查统息 绩查询 学生班级信成息绩打打印印 黔东南民族职业技术学院
三、详细设计
1.1根据功能分析析框架构设计的思想,设计出登录界面系统功能如图1.2所示:
如图1-2运行的界面
登录界面代码如下:
Private Sub Command1_Click() Dim sql As String
Dim rs_login As New ADODB.Recordset Dim conn As New ADODB.Connection
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\mydate.mdb\" If Trim(Text1.Text) = \"\" Then
MsgBox \"用户名不能为空,请重新输入!\" Text1.SetFocus Else
sql = \"select * from 用户表 where 用户名称='\" & Trim(Text1.Text) & \"'\" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then
MsgBox \"没有这个用户,请重新输入!\ Text1.Text = \"\" Text1.SetFocus Else
UserName = Text1.Text
If Trim(rs_login.Fields(1)) = Trim(Text2.Text) Then Select Case Combo1.Text
-4
黔东南民族职业技术学院
Case \"管理员\" dldhk.Hide Form1.Show Case \"教师\" Form3.Show dldhk.Hid Case \"学生\" Form4.Show dldhk.Hide End Select Else
MsgBox \"密码不正确,请重新输入!\ Text2.SetFocus Text2.Text = \"\" End If End If End If
cnt = cnt + 1 If cnt = 3 Then Unload Me End If End Sub
Private Sub Command2_Click() Text1.Text = \"\" Text2.Text = \"\" End Sub
Private Sub Command3_Click() End End Sub
Private Sub Label6_Click() Form13.Show End Sub
Private Sub Command4_Click() Form20.Show 管理员登录界面 dldhk.Hide End Sub
管理员系统功能如图1-3所示
学生信息教师信息 计划管理系统管理退出系统
如图1-3管理员登录界面
-5
黔东南民族职业技术学院
如图1-03管理员登录界面
新用户注册代码如下:
Private Sub Command1_Click()
Dim rs_tushu As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String findform = False
sql = \"select * from 用户表 where 用户名称= '\" & Text1.Text & \"'\"
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\mydate.mdb\"
rs_tushu.CursorLocation = adUseClient
rs_tushu.Open sql, conn, adOpenKeyset, adLockPessimistic If Text1.Text = \"\" Then
MsgBox \"用户名不能为空,请输入用户名!\ Text1.SetFocus
ElseIf Text2.Text = \"\" Then
MsgBox \"密码不能为空,请输入密码!\ Text2.SetFocus ElseIf rs_tushu.EOF Then rs_tushu.AddNew
rs_tushu(\"用户密码\") = Text2.Text rs_tushu(\"用户权限\") = Combo1.Text rs_tushu.Update
MsgBox \"恭喜,您已经注册成功!\" & \"您的用户名是:\" & Text1.Text & \",密码是\" & Text2.Text & \",请牢记!\
-6
黔东南民族职业技术学院
Else
MsgBox \"用户名已存在,请重新注册!\ dldhk.Show Form20.Hide End If End Sub
Private Sub Command2_Click() End End Sub
字段名 用户名 用户密码 类型 文本 文本 大小 8 8 权限 管理员 管理员 备注 关键字 图1-3 用户表信息
如图1-4管理员登录后的界面
-7
黔东南民族职业技术学院
教师系统功能如图所示
教师登录界面
个教打师修人 印改密课报 码程表 数数据据任教
添修务师 加改查基询本
打信 印息
如图1-5教师登录界面
教师界面如下图所示:
-8
课程成绩管理学生成绩录入 如图1-5登录后的教师界面
黔东南民族职业技术学院
如图1-6密码修改界面
密码修改的代码:
Private Sub Command1_Click()
Dim rs_tushu As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String findform = False
sql = \"select * from 表2 where 姓名 = '\" & Text1.Text & \"'\"
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\mydate.mdb\" rs_tushu.CursorLocation = adUseClient
rs_tushu.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_tushu.EOF = True Then
MsgBox \"此用户不存在,请重新输入!\ Else
Text1.Text = rs_tushu(\"姓名\") Text2.Text = rs_tushu(\"密码\") rs_tushu.Update End If End Sub
Private Sub Command2_Click()
Dim rs_tushu As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String findform = False
sql = \"select * from 表2 where 姓名= '\" & Text1.Text & \"'\"
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\mydate.mdb\" rs_tushu.CursorLocation = adUseClient
-9
黔东南民族职业技术学院
rs_tushu.Open sql, conn, adOpenKeyset, adLockPessimistic If Text3.Text = \"\" Then
MsgBox \"姓名不能为空\ Text3.SetFocus
ElseIf Text3.Text <> Text4.Text Then
MsgBox \"两次输入的密码不同,请重新输入!\ Text3.SetFocus Exit Sub End If
rs_tushu(\"密码\") = Text2.Text
answer = MsgBox(\"确信要修改吗?\ If answer = vbYes Then rs_tushu.Update
MsgBox \"修改密码成功!\ ElseIf answer = vbNo Then
MsgBox \"已取消修改密码!\ End If End Sub
Private Sub Command3_Click() Form3.Show Form12.Hide End Sub
教师任务书查询界面:
如图1-7教师任务书查询界面
教师任务书查询界面代码: Private Sub cmdok_Click()
Dim rs_book As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String findfor = False
sql = \"select * from 教师表 where 教师姓名='\" & Trim(Text1.Text) & \"'\"
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\mydate.mdb\"
-10
黔东南民族职业技术学院
rs_book.CursorLocation = adUseClient
rs_book.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_book.EOF = True Then
MsgBox \"没有这个用户,请重新输入!\ Text1.Text = \"\" Text1.SetFocus Else
Combo1.Text = rs_book(\"学年\") Combo2.Text = rs_book(\"学期\") rs_book.Update End If End Sub
Private Sub Command2_Click() Text1.Text = \"\" Combo1.Text = \"\" Combo2.Text = \"\" End Sub
Private Sub Command3_Click() Form3.Show Form23.Hide End Sub
如图1-8表的数据库
-11
黔东南民族职业技术学院
如图1-9学生成绩录入
学生成绩录入的代码:
Private Sub Command1_Click()
Dim rs_bookstyle As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String
If Trim(Text1.Text) = \"\" Then
MsgBox \"姓名不能为空\Text1.SetFocus Exit Sub End If
If Trim(Text2.Text) = \"\" Then
MsgBox \"编号不能为空\Text1.Text = \"\" Text1.SetFocus Exit Sub End If
conn.Open \"provider=microsoft.jet.oledb.4.0;data source=\" & App.Path & \"\\myset.mdb\" sql = \"select * from 成绩表 where 姓名='\" & Trim(Text1.Text) & \"'\" rs_bookstyle.Open sql, conn, adOpenKeyset, adLockPessimistic
If rs_bookstyle.EOF Then rs_bookstyle.AddNew
rs_bookstyle.Fields(0) = Trim(Text1.Text)
-12
黔东南民族职业技术学院
rs_bookstyle.Fields(1) = Trim(Text2.Text) rs_bookstyle.Fields(2) = Trim(Text3.Text) rs_bookstyle.Fields(3) = Trim(Text4.Text) rs_bookstyle.Fields(4) = Trim(Text5.Text) rs_bookstyle.Fields(5) = Trim(Text6.Text) rs_bookstyle.Fields(6) = Trim(Text7.Text) rs_bookstyle.Fields(7) = Trim(Text8.Text) rs_bookstyle.Fields(8) = Trim(Text9.Text) rs_bookstyle.Fields(9) = Trim(Text10.Text) rs_bookstyle.Fields(10) = Trim(Text11.Text) rs_bookstyle.Fields(11) = Trim(Text12.Text) rs_bookstyle.Update
MsgBox \"添加信息成功!\ Else
MsgBox \"学生信息重复\ Text1.SetFocus Text1.Text = \"\" rs_bookstyle.Close Exit Sub End If End Sub
Private Sub Command2_Click() Text1.Text = \"\" Text2.Text = \"\" Text3.Text = \"\" Text4.Text = \"\" Text5.Text = \"\" Text6.Text = \"\" Text7.Text = \"\" Text8.Text = \"\" Text9.Text = \"\" Text10.Text = \"\" Text11.Text = \"\" Text12.Text = \"\" End Sub
Private Sub Command3_Click() Form3.Show Form25.Hide End Sub
-13
黔东南民族职业技术学院
如图1-10学生登录界面
如图1-11学生信息修改界面
-14
黔东南民族职业技术学院
学生信息修改代码如下: Private Sub Command1_Click()
Dim rs_student As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String findform = False
sql = \"select * from 学生信息 where 姓名= '\" & Text1.Text & \"'\"
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\mydate.mdb\"
rs_student.CursorLocation = adUseClient
rs_student.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_student.EOF = True Then
MsgBox \"此用户不存在,请重新输入!\ Else
Text1.Text = rs_student(\"姓名\")
Text2.Text = rs_student(\"学号\") & \"\" Text3.Text = rs_student(\"学号\") & \"\" Text4.Text = rs_student(\"出生年月\") & \"\" Text5.Text = rs_student(\"政治面貌\") & \"\" Text6.Text = rs_student(\"班级\") & \"\" Text17.Text = rs_student(\"专业\") & \"\" Text18.Text = rs_student(\"入学时间\") & \"\" Text9.Text = rs_student(\"密码\") & \"\"
Text10.Text = rs_student(\"确认密码\") & \"\" rs_student.Update End If End Sub
Private Sub Command2_Click() Text1.Text = \"\" Text2.Text = \"\" Text3.Text = \"\" Text4.Text = \"\" Text5.Text = \"\" Text6.Text = \"\" Text7.Text = \"\" Text8.Text = \"\" Text9.Text = \"\" Text10.Text = \"\" End Sub
Private Sub Command3_Click() Form4.Show Form26.Hide End Sub
-15
黔东南民族职业技术学院
如图1-12学生学期课程成绩查询
学期课程查询代码:
Private Sub Command1_Click() Form4.Show Form22.Hide End Sub
Private Sub Option1_Click()
Dim rs_teach As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String 'findform = False
sql = \"select * from 成绩表\"
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\myset.mdb\" rs_teach.CursorLocation = adUseClient
rs_teach.Open sql, conn, adOpenKeyset, adLockPessimistic Set DataGrid1.DataSource = rs_teach End Sub
Private Sub Option2_Click()
Dim rs_teach As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String
-16
黔东南民族职业技术学院
'findform = False
sql = \"select * from 成绩表\"
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\myset.mdb\" rs_teach.CursorLocation = adUseClient
rs_teach.Open sql, conn, adOpenKeyset, adLockPessimistic Set DataGrid1.DataSource = rs_teach End Sub
Private Sub Option3_Click()
Dim rs_teach As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String 'findform = False
sql = \"select * from 成绩表\"
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\myset.mdb\" rs_teach.CursorLocation = adUseClient
rs_teach.Open sql, conn, adOpenKeyset, adLockPessimistic Set DataGrid1.DataSource = rs_teach
End Sub
学生信息表
字段名 学号 姓名 姓别 出生年月 政治面貌 班级 专业 入学时间 密码 类型 文本 文本 文本 日期/时间 文本 文本 文本 日期/时间 文本 大小 4 8 8 15 10 10 10 15 15 备注 关键字 图1-13 学生信息表
-17
黔东南民族职业技术学院
图1-14 个人成绩查询
学生成绩查询代码:
Private Sub Command1_Click()
Dim rs_book As New ADODB.Recordset Dim conn As New ADODB.Connection Dim sql As String findfor = False
sql = \"select * from 成绩表 where 姓名='\" & Trim(Text1.Text) & \"'\"
conn.Open \"provider=Microsoft.Jet.OLEDB.4.0; data source=\" & App.Path & \"\\myset.mdb\" rs_book.CursorLocation = adUseClient
rs_book.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_book.EOF = True Then
MsgBox \"没有这个用户,请重新输入!\ Text1.Text = \"\" Text1.SetFocus Else
Text4.Text = rs_book(\"英语\") Text5.Text = rs_book(\"JAVA\") Text6.Text = rs_book(\"C语言\")
-18
黔东南民族职业技术学院
Text7.Text = rs_book(\"组装与维修\") Text8.Text = rs_book(\"微机原理\") Text9.Text = rs_book(\"PS\")
Text10.Text = rs_book(\"平面动画\") Text11.Text = rs_book(\"计算机安全\") Text12.Text = rs_book(\"VB\") rs_book.Update End If End Sub
Private Sub Command2_Click() Text1.Text = \"\" Text2.Text = \"\" End Sub
Private Sub Command3_Click() Form4.Show Form8.Hide End Sub
图1-15 建立数据库表
-19
黔东南民族职业技术学院
四、效果及存在问题
运行后的效果还是很不错的,本文设计的学生管理系统,是基于vb数据库系统的开发的学生管理系统。把它们转变为有效的数据库设计,把设计转变为实际的数据库.并且这些数据库带有功能完备、高效能的应用。
结合开放式学生管理系统的要求,对VB应用程序设计、数据库管理系统、VB数据库技术进行了较深入的学习和应用,主要完成对学生管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的学生管理系统可以提供用户的计划管理、系统管理、数据库管理等需要。 存在的问题就是: 1、
当我运行学生成绩查询的时候,选不中我所需要的,我一直在
换问题的所在,可是就是不知道问题是出错在那里,一运行的时候,就全部都出来了,没有我相要的结果 2、
登录界面,我做的登录界面,有管理员、教师、学生这三个人
登录,没有名字的,可以注册,可是这个又做不出我要的结果,我希望管理员的界面,只有管理员能进入,学生和教师的,管理员能进,这些都有了,可是,当我以一个教师和学生的身份的时候,也能进入管理员操作界面,这个我想了好久,也做不出来。 3、
数据库备份能做,恢复就不能做了,还有保存的功能也没有。
-20
黔东南民族职业技术学院
心得
通过这一段时间对VB程序设计实践,我感觉学到了很多知识。
不仅仅巩固了对课本知识的理解,还学会了如何独自去思考程序中出现的问题。
我还发现自己之前根本没学到什么,都怪自己懒惰了,没有好好去学。
一开始做这个学生成绩管理系统无头绪,接着看了下课本,试着用自己学到的知识编写这个程序。
我对数据文件不太理解,还有一些VB编程的细节问题不清楚,在此过是困难重重呀。然后,我通过再看课本进一步去理解课本的内容,再去编写程序。但还是遇到了问题,经过反复的思考去修改,最后程序终于能运行了,那刻自己感到很自豪。
我记得老师曾经说过这样一句话:在编程序的过程中,你要反复的去思考,没有做不到的事,只有想不到的事。总而言之,今后我一定要多看一些编写程序的书籍,通过自己亲手去操作编写程序,学习更多的知识来提高自己的能力。 相信自己,一定能行的,为自己加油
-21
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务