VB学生管理系统设计.docx
《VB学生管理系统设计.docx》由会员分享,可在线阅读,更多相关《VB学生管理系统设计.docx(27页珍藏版)》请在冰豆网上搜索。
VB学生管理系统设计
黔东南民族职业技术学院
学生管理系统
课程名称为:
用于VB学生管理系统的应用和实现
*******
专业:
计算机应用技术
班级:
11计算机班
指导老师:
杨波老师
制作时间:
2013年6月8日
一、功能描述
该学生成绩管理系统是用VisualBasic制作的,该系统可以实现教师进行对学生的成绩管理,添加学生用户以及可以查询学生的成绩;还实现学生用户通过登录系统可以查询到自己的各科课程成绩以及修改自己的登录密码;还有的是教师用户和学生用户可以退出系统。
该系统采用了对窗体、基本控件的应用,选择结构的if语句,循环结构的循环语句for…next结构,菜单设计,过程,数据文件来构建整个程序。
在此报告中重点叙述了学生成绩系统的各个功能,特别是学生的成绩查询和密码修改以及教师和学生的登录。
整个系统会以系统结构图、程序流程图、功能模块,让大家能知晓该系统的功能。
二、概要设计
1.1、目标
本系统的目标是建立一套可以对学生的成绩的管理、查询学生的各科成绩、对学生的密码修改的学生成绩管理系统。
该系统可以帮助我们更方便的管理学生的成绩,替代了以前的手工操作管理学生的成绩,节约我们珍贵的时间。
1.2、需求分析
根据该系统的需求分析,系统的需求可以分为以下的几个方面:
1.2.1、鼠标操作
你可以利用鼠标点击界面的某些按钮来实现对系统的有关操作。
1.2.2、键盘操作
你可以利用键盘对该系统的某些操作。
该学生管理系统分为三个模块:
如图1-1所示:
图1-1系统结构图
三、详细设计
1.1根据功能分析析框架构设计的思想,设计出登录界面系统功能如图1.2所示:
如图1-2运行的界面
登录界面代码如下:
PrivateSubCommand1_Click()
DimsqlAsString
Dimrs_loginAsNewADODB.Recordset
DimconnAsNewADODB.Connection
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\mydate.mdb"
IfTrim(Text1.Text)=""Then
MsgBox"用户名不能为空,请重新输入!
"
Text1.SetFocus
Else
sql="select*from用户表where用户名称='"&Trim(Text1.Text)&"'"
rs_login.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_login.EOF=TrueThen
MsgBox"没有这个用户,请重新输入!
",vbOKOnly+vbExclamation,""
Text1.Text=""
Text1.SetFocus
Else
UserName=Text1.Text
IfTrim(rs_login.Fields
(1))=Trim(Text2.Text)Then
SelectCaseCombo1.Text
Case"管理员"
dldhk.Hide
Form1.Show
Case"教师"
Form3.Show
dldhk.Hid
Case"学生"
Form4.Show
dldhk.Hide
EndSelect
Else
MsgBox"密码不正确,请重新输入!
",vbOKOnly+vbExclamation,""
Text2.SetFocus
Text2.Text=""
EndIf
EndIf
EndIf
cnt=cnt+1
Ifcnt=3Then
UnloadMe
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateSubLabel6_Click()
Form13.Show
EndSub
PrivateSubCommand4_Click()
Form20.Show
dldhk.Hide
EndSub
管理员系统功能如图1-3所示
如图1-3管理员登录界面
如图1-03管理员登录界面
新用户注册代码如下:
PrivateSubCommand1_Click()
Dimrs_tushuAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
findform=False
sql="select*from用户表where用户名称='"&Text1.Text&"'"
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\mydate.mdb"
rs_tushu.CursorLocation=adUseClient
rs_tushu.Opensql,conn,adOpenKeyset,adLockPessimistic
IfText1.Text=""Then
MsgBox"用户名不能为空,请输入用户名!
",vbOK0nly+vbExclamation,""
Text1.SetFocus
ElseIfText2.Text=""Then
MsgBox"密码不能为空,请输入密码!
",vbOK0nly+vbExclamation,""
Text2.SetFocus
ElseIfrs_tushu.EOFThen
rs_tushu.AddNew
rs_tushu("用户密码")=Text2.Text
rs_tushu("用户权限")=Combo1.Text
rs_tushu.Update
MsgBox"恭喜,您已经注册成功!
"&"您的用户名是:
"&Text1.Text&",密码是"&Text2.Text&",请牢记!
",vbOKOnly,""
Else
MsgBox"用户名已存在,请重新注册!
",vbOKOnly+vbExclamation,""
dldhk.Show
Form20.Hide
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
字段名
类型
大小
权限
备注
用户名
文本
8
管理员
关键字
用户密码
文本
8
管理员
图1-3用户表信息
如图1-4管理员登录后的界面
教师系统功能如图所示
如图1-5教师登录界面
教师界面如下图所示:
如图1-5登录后的教师界面
如图1-6密码修改界面
密码修改的代码:
PrivateSubCommand1_Click()
Dimrs_tushuAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
findform=False
sql="select*from表2where姓名='"&Text1.Text&"'"
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\mydate.mdb"
rs_tushu.CursorLocation=adUseClient
rs_tushu.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_tushu.EOF=TrueThen
MsgBox"此用户不存在,请重新输入!
",vbOKOnly,""
Else
Text1.Text=rs_tushu("姓名")
Text2.Text=rs_tushu("密码")
rs_tushu.Update
EndIf
EndSub
PrivateSubCommand2_Click()
Dimrs_tushuAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
findform=False
sql="select*from表2where姓名='"&Text1.Text&"'"
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\mydate.mdb"
rs_tushu.CursorLocation=adUseClient
rs_tushu.Opensql,conn,adOpenKeyset,adLockPessimistic
IfText3.Text=""Then
MsgBox"姓名不能为空",vbOK0nly+vbExclamation,""
Text3.SetFocus
ElseIfText3.Text<>Text4.TextThen
MsgBox"两次输入的密码不同,请重新输入!
",vbOKOnly+vbExclamation,""
Text3.SetFocus
ExitSub
EndIf
rs_tushu("密码")=Text2.Text
answer=MsgBox("确信要修改吗?
",vbYesNo,"")
Ifanswer=vbYesThen
rs_tushu.Update
MsgBox"修改密码成功!
",vbOKOnly,""
ElseIfanswer=vbNoThen
MsgBox"已取消修改密码!
",vbOKOnly,""
EndIf
EndSub
PrivateSubCommand3_Click()
Form3.Show
Form12.Hide
EndSub
教师任务书查询界面:
如图1-7教师任务书查询界面
教师任务书查询界面代码:
PrivateSubcmdok_Click()
Dimrs_bookAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
findfor=False
sql="select*from教师表where教师姓名='"&Trim(Text1.Text)&"'"
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\mydate.mdb"
rs_book.CursorLocation=adUseClient
rs_book.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_book.EOF=TrueThen
MsgBox"没有这个用户,请重新输入!
",vbOKOnly+vbExclamation,""
Text1.Text=""
Text1.SetFocus
Else
Combo1.Text=rs_book("学年")
Combo2.Text=rs_book("学期")
rs_book.Update
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Combo1.Text=""
Combo2.Text=""
EndSub
PrivateSubCommand3_Click()
Form3.Show
Form23.Hide
EndSub
如图1-8表的数据库
如图1-9学生成绩录入
学生成绩录入的代码:
PrivateSubCommand1_Click()
Dimrs_bookstyleAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
IfTrim(Text1.Text)=""Then
MsgBox"姓名不能为空",vbOKOnly+vbExclamation,""
Text1.SetFocus
ExitSub
EndIf
IfTrim(Text2.Text)=""Then
MsgBox"编号不能为空",vbOKOnly+vbExclamation,""
Text1.Text=""
Text1.SetFocus
ExitSub
EndIf
conn.Open"provider=microsoft.jet.oledb.4.0;datasource="&App.Path&"\myset.mdb"
sql="select*from成绩表where姓名='"&Trim(Text1.Text)&"'"
rs_bookstyle.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_bookstyle.EOFThen
rs_bookstyle.AddNew
rs_bookstyle.Fields(0)=Trim(Text1.Text)
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"添加信息成功!
",vbOKOnly,""
Else
MsgBox"学生信息重复",vbOKOnly+vbExclamation
Text1.SetFocus
Text1.Text=""
rs_bookstyle.Close
ExitSub
EndIf
EndSub
PrivateSubCommand2_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=""
EndSub
PrivateSubCommand3_Click()
Form3.Show
Form25.Hide
EndSub
如图1-10学生登录界面
如图1-11学生信息修改界面
学生信息修改代码如下:
PrivateSubCommand1_Click()
Dimrs_studentAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
findform=False
sql="select*from学生信息where姓名='"&Text1.Text&"'"
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\mydate.mdb"
rs_student.CursorLocation=adUseClient
rs_student.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_student.EOF=TrueThen
MsgBox"此用户不存在,请重新输入!
",vbOKOnly,""
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
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Text7.Text=""
Text8.Text=""
Text9.Text=""
Text10.Text=""
EndSub
PrivateSubCommand3_Click()
Form4.Show
Form26.Hide
EndSub
如图1-12学生学期课程成绩查询
学期课程查询代码:
PrivateSubCommand1_Click()
Form4.Show
Form22.Hide
EndSub
PrivateSubOption1_Click()
Dimrs_teachAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
'findform=False
sql="select*from成绩表"
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\myset.mdb"
rs_teach.CursorLocation=adUseClient
rs_teach.Opensql,conn,adOpenKeyset,adLockPessimistic
SetDataGrid1.DataSource=rs_teach
EndSub
PrivateSubOption2_Click()
Dimrs_teachAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
'findform=False
sql="select*from成绩表"
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\myset.mdb"
rs_teach.CursorLocation=adUseClient
rs_teach.Opensql,conn,adOpenKeyset,adLockPessimistic
SetDataGrid1.DataSource=rs_teach
EndSub
PrivateSubOption3_Click()
Dimrs_teachAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
'findform=False
sql="select*from成绩表"
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\myset.mdb"
rs_teach.CursorLocation=adUseClient
rs_teach.Opensql,conn,adOpenKeyset,adLockPessimistic
SetDataGrid1.DataSource=rs_teach
EndSub
学生信息表
字段名
类型
大小
备注
学号
文本
4
关键字
姓名
文本
8
姓别
文本
8
出生年月
日期/时间
15
政治面貌
文本
10
班级
文本
10
专业
文本
10
入学时间
日期/时间
15
密码
文本
15
图1-13学生信息表
图1-14个人成绩查询
学生成绩查询代码:
PrivateSubCommand1_Click()
Dimrs_bookAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAs