学生管理系统 毕业设计论文.docx
《学生管理系统 毕业设计论文.docx》由会员分享,可在线阅读,更多相关《学生管理系统 毕业设计论文.docx(41页珍藏版)》请在冰豆网上搜索。
学生管理系统毕业设计论文
本科毕业论文(设计)
基于VB的学生管理系统
设计与实现
基于VB的学生管理系统设计与实现
摘要
学生管理系统对于学校的决策者和管理者来说都至关重要,是一个教育单位不可缺少的管理工具,能够为用户提供充足的信息和快捷的查询手段。
本学生管理系统是基于VB技术的系统。
包括个人情况模块、考勤模块、奖学金模块、等级考试模块、个人成绩模块、选修成绩模块、个人交费情况模块、用于控制操作级别的用户管理模块。
在这些模块中,除了基本的删除、添加、查询外,有的模块还加了更加详细的查询内容。
关键词
学生管理系统;模块;查询
DesignandRealizationoftheStudentManagementSystemBasedonVB
Abstract
Thestudentmanagementsystemisvitalfordecision-makersandmanagersofschools.Itisanindispensablemanagementtoolwhichcanprovidesufficientinformationandquickquerymeasureforthem.ThisstudentmanagementsystemisbasedonVBtechnology,includestheindividualsituationmodule,thecheckingattendancemodule,thescholarshipmodule,theranktestmodule,theindividualperformancemodule,thechoosecourseresultmodule,theindividualpaying-feesituationmodule,theusermanagementmodule.Basicfunctionssuchasdelete,addandqueryarerealizedinthesemodules,andmoredetailedquerycontentsareaddedinsomeofthemodules.
Keywords
TheSudentMnagementSystem;Module;Query
学生管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。
一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
使用计算机对学生档案信息进行管理,具有手工管理无法比拟的优点。
如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大地提高学生档案管理的效率。
本学生管理系统包括个人情况模块、考勤模块、奖学金模块、等级考试模块、个人成绩模块、选修成绩模块、个人交费情况模块、用于控制操作级别的用户管理模块。
在这些模块中,除了基本的删除、添加、查询外,有的模块还加了更加详细的查询内容。
1界面设计
1.1菜单栏的设计
在窗体的标题栏下显示的是菜单栏,它包含一个或多个菜单标题。
在程序运行时,当用户选择某个菜单标题时会下拉出一个菜单,菜单中的菜单项可以是命令、选项、分隔条或子菜单标题。
每个菜单项都是一个控件,与其他控件一样也有自己的属性和事件。
菜单项的每个属性都能设置和查看,如name(名称)和caption(标题)属性等。
每个菜单项只能响应一个事件,即Click事件。
具体步骤如下:
(1)在设计状态,选择工具“菜单下的菜单编辑器(Ctrl+E)”命令,会出现菜单编辑器窗口。
(2)在菜单设计窗口中,按下表对每一个菜单项输入标题、控制名称和相应的快捷键。
如表1-1菜单项的设计。
表1-1菜单项的设置
菜单项
名称
快捷键
…系统管理
Xitong
…添加用户
Useradd
Ctrl+A
…修改密码
Usermodi
Ctrl+B
…重新登陆
denglu2
Ctrl+F1
…_
e14
…退出
Exit
Ctrl+A
考勤管理
Kaoqingguanli
…考勤情况输入
Kaoqintianjia
…考勤情况查询
Kaoqinchaxun
…考勤记录删除
Kaoqinshanchu
学生档案管理
Dangan
…档案浏览
Studentliulan
Ctrl+G
…档案删除
Studendelete
…档案添加
Studentadd
Ctrl+F
…档案查询
Studentfind
Ctrl+H
学生交费管理
Jiaofei
…_
Ee
…学生交费浏览
Jiaofeibrowse
Ctrl+M
…学生交费添加
Jiaofeiadd
Ctrl+N
…学生交费查询
Jiaofeifind
Ctrl+O
选修课管理
Xuanxiukeguanli
…选修成绩添加
xuanxiuchengjitianjia
Ctrl+P
…选修成绩删除
xuanxiuchengjishanchu
…选修成绩查询
xuanxiuchengjichaxun
成绩与奖学金管理
Cjjxjguanli
…奖学金管理
Jiangxuejin
……奖学金结果输入
Jxjtianjia
……奖学金结果删除
Jxjshanchu
……奖学金情况查询
Jxjchuxun
…成绩管理
Cjguanli
……成绩删除
Chengjishanchu
Ctrl+R
……成绩添加
Cjadd
Ctrl+S
……成绩查询
Cjfind
Ctrl+U
等级考试管理
Djksgl
…等级考试查询
Djkschaxun
…等级考试添加
Djkstianjia
…等级考试删除
Djksshanchu
当完成所有输入工作后,选择“确定”命令按钮,就完成了整个菜单的建立工作,然后给各个菜单的Click事件中写入代码。
1.2工具栏的设计
工具栏是为用户提供了应用程序中最常用的菜单命令的快速访问方法,进一步增强应用程序的菜单界面,工具栏制作的方法是将ToolBar、ImageList组合使用。
创建工具栏的步骤是:
(1)在ImageList控件中添加所需的图像。
ImageList控件不单独使用,专门为其他控件提供图像库,是一个图像容器控件。
在窗体上增加ImageList控件后,选中该控件,单击右键,从弹出的快捷菜单中选择“属性”,然后在“属性页”对话框选择“图像”标签,在图像框中插入图像,每个图像的属性见表1-2。
表1-2控件属性的设置
ImageList控件属性
ToolBar控件按钮属性
索引(Index)
关键字(Key)
索引(Index)
样式(Style)
图像(Image)
1
tianjia
4
0
tianjia
2
chaxun
2
0
chaxun
3
sanchu
6
0
sanchu
5
jisuan
10
0
jisuan
6
guanbi
12
0
guanbi
(2)在ToolBar控件中创建Button对象。
ToolBar控件中的每个按钮的图像都来自ImageList对象中插入的图像。
①为工具栏连接图像
在窗体上增加ToolBar控件后,打开“属性页”对话框,选择“通用”标签,对其各项进行设置,一般取默认值。
②为工具栏增加按钮
在“属性页”对话框中选择“按钮”标签,单击“插入按钮”可以在工具栏增加按钮,然后对各属性进行设置。
(3)在ButtonClick事件中用SelectCase语句对各按钮进行相应的编程。
1.3状态栏的设计
状态栏用来显示系统信息和对用户的提示。
创建状态栏的步骤是:
(1)建立状态栏
设计时,在窗体上增加Statusbar控件后,打开其“属性面”对话框,选择“窗格”标签,设置5个窗格,各窗格属性设置如表1-3。
表1-3Statusbar控件属性设置
索引
(Index)
样式(Style)
文本
(Text)
说明
1
sbrtext
学生管理系统
显示学生管理系统
2
sbrtext
显示当前操作员
3
sbrtext
显示当前用户是管理员还是普通用户
4
sbrtext
显示开发该软件的组成人员
5
sbrtext
空白
(2)运行时改变状态栏
运行时,能重新设置窗格Panel对象以反映不同的功能,除第一个窗格外其它的窗格都通过编
程来实现。
2模块设计
本学生管理系统结构图,如图2-1所示:
图2-1学生管理系统结构图
2.1个人情况模块
个人情况模块有三个小的模块组成:
修改与添加,删除,查询。
2.1.1个人基本情况添加
界面如图2-2所示:
图2-2个人信息添加
个人基本情况添加模块的设计思想是首先看输入的内容,即个人信息是不是空的。
如果是空的,则不允许添加;如果不是空的,那么在个人情况表与个人详细情况表中加入界面上所输入的信息。
它的添加功能是用下面的代码实现的:
IfTrim(Text1)=""OrTrim(Text2)=""OrTrim(Text3)=""OrTrim(Text4)=""OrTrim(Text5)=""OrTrim(Text6)=""OrTrim(Text7)=""OrTrim(Text9)=""OrTrim(Text10)=""OrTrim(Text11)=""Then
MsgBox"所有信息都不能为空!
"
ExitSub
EndIf
Adodc1.RecordSource="select*fromjibenqingkuang"
Adodc1.Refresh
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("学号")=Trim(Text1)
Adodc1.Recordset.Fields("姓名")=Trim(Text2)
Adodc1.Recordset.Fields("性别")=Trim(Text3)
Adodc1.Recordset.Fields("班级")=Trim(Text4)
Adodc1.Recordset.Fields("专业")=Trim(Text5)
Adodc1.Recordset.Fields("年龄")=Val(Trim(Text6))
Adodc1.Recordset.Fields("出生日期")=Trim(Text7)
Adodc1.Recordset.Fields("政治面貌")=Trim(Combo1.Text)
Adodc1.Recordset.Update
Adodc1.Recordset.Close
Adodc1.RecordSource="select*fromxiangxiqingkuang"
Adodc1.Refresh
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("姓名")=Trim(Text2)
Adodc1.Recordset.Fields("身份证号")=Trim(Text9)
Adodc1.Recordset.Fields("生源所在地")=Trim(Text10)
Adodc1.Recordset.Fields("家庭所在地")=Trim(Text11)
Adodc1.Recordset.Update
MsgBox"个人基本情况和详细情况的记录添加成功!
"
2.1.2个人基本情况的查询
界面如图2-3所示:
图2-3基本情况查询
设计思想是先在条件中输入要查找的条件,然后按所输入的条件用SQL语言的SELECT语句进行查询。
在查询之前,要看看输入的条件是不是为空,如果为空,出现提示,“没有输入条件,请输入!
”然后,在根据姓名条件的精确或是模糊进行查询。
查询到的个人信息,放到具体的文本框中。
它的四个按钮用来控制得到的记录集的上下移动。
中间自己定义了一个过程move1,用来更新文本框的数据。
部分代码如下:
查询代码:
DimsqlAsString
sql="1"
IfTrim(Text1)=""AndTrim(Text2)=""AndTrim(Text3)=""AndTrim(Text4)=""AndTrim(Combo1.Text)="忽略"AndTrim(Combo2.Text)="忽略"Then
MsgBox"没有输入条件,请输入!
"
ExitSub
EndIf
IfTrim(Text1)<>""Then
IfOption1.ValueThen
sql=sql+"and姓名='"&Text1&"'"
Else
sql=sql+"and姓名like'%"&Text1&"%'"
EndIf
EndIf
IfTrim(Text2)<>""Thensql=sql+"and年龄"&Trim(Combo3.Text)&Text2&""
IfTrim(Text3)<>""Thensql=sql+"and学号"&Trim(Combo4.Text)&"'"&Text3&"'"
IfTrim(Text4)<>""Thensql=sql+"and班级='"&Text4&"'"
IfTrim(Combo1.Text)<>"忽略"Thensql=sql+"and专业='"&Trim(Combo1.Text)&"'"
IfTrim(Combo2.Text)<>"忽略"Thensql=sql+"and性别='"&Trim(Combo2.Text)&"'"
Adodc1.RecordSource="select*fromjibenqingkuangwhere"&sql
Adodc1.Refresh
IfAdodc1.Recordset.EOFThen
MsgBox"jibenqingkuang表,没有满足条件的记录!
"
Command3.Enabled=False
Command4.Enabled=False
Command5.Enabled=False
Command6.Enabled=False
Else
Command3.Enabled=False
Command4.Enabled=False
Command5.Enabled=True
Command6.Enabled=True
move1
EndIf
IfAdodc1.Recordset.BOFThen
Command3.Enabled=False
Command4.Enabled=False
Else
Command3.Enabled=True
Command4.Enabled=True
EndIf
Command5.Enabled=True
Command6.Enabled=True
Adodc1.Recordset.MovePrevious
move1
move1的代码如下:
Text6.Text=Adodc1.Recordset.Fields("学号")
Text7.Text=Adodc1.Recordset.Fields("姓名")
Text8.Text=Adodc1.Recordset.Fields("性别")
Text9.Text=Adodc1.Recordset.Fields("班级")
Text10.Text=Adodc1.Recordset.Fields("年龄")
Text11.Text=Adodc1.Recordset.Fields("专业")
Text12.Text=Adodc1.Recordset.Fields("政治面貌")
Text13.Text=Adodc1.Recordset.Fields("出生日期")
Adodc2.RecordSource="select*fromxiangxiqingkuangwhere姓名='"&Trim(Text7.Text)&"'"
Adodc2.Refresh
IfAdodc2.Recordset.EOF=TrueThen
MsgBox"xiangxiqingkuang表,没有满足条件的记录!
"
ExitSub
Else
Text5.Text=Adodc2.Recordset.Fields("奖惩")
Text14.Text=Adodc2.Recordset.Fields("身份证号")
Text15.Text=Adodc2.Recordset.Fields("生源所在地")
Text16.Text=Adodc2.Recordset.Fields("家庭所在地")
EndIf
另外,界面中还有一个修改按钮,是用来对数据库中的数据进行更正。
如果不点这个按钮,就不能对文本中的数据进行修改,修改之后还需点保存按钮,写到数据库中。
否则不能写到数据库中。
修改按钮代码如下:
Ifgly=FalseThen
MsgBox"你不是管理员,此按钮你不能使用!
"
ExitSub
EndIf
IfCommand7.Caption="修改"Then
Text5.Locked=False
Text8.Locked=False
Text9.Locked=False
Text10.Locked=False
Text11.Locked=False
Text12.Locked=False
Text13.Locked=False
Text14.Locked=False
Text15.Locked=False
Text16.Locked=False
Command7.Caption="保存"
Else
Text5.Locked=True
Text8.Locked=True
Text9.Locked=True
Text10.Locked=True
Text11.Locked=True
Text12.Locked=True
Text13.Locked=True
Text14.Locked=True
Text15.Locked=True
Text16.Locked=True
Command7.Caption="修改"
Adodc1.Recordset.Fields("学号")=Text6.Text
Adodc1.Recordset.Fields("姓名")=Text7.Text
Adodc1.Recordset.Fields("性别")=Text8.Text
Adodc1.Recordset.Fields("班级")=Text9.Text
Adodc1.Recordset.Fields("年龄")=Text10.Text
Adodc1.Recordset.Fields("专业")=Text11.Text
Adodc1.Recordset.Fields("政治面貌")=Text12.Text
Adodc1.Recordset.Fields("出生日期")=Text13.Text
Adodc2.Recordset.Fields("奖惩")=Text5.Text
Adodc2.Recordset.Fields("身份证号")=Text14.Text
Adodc2.Recordset.Fields("生源所在地")=Text15.Text
Adodc2.Recordset.Fields("家庭所在地")=Text16.Text
Adodc1.Recordset.Update
Adodc2.Recordset.Update
EndIf
在浏览表中单击,浏览之后,就可以看到个人情况的所有资料。
用上一条、下一条、首条、末条四个按钮,就可以完成浏览操作。
删除个人情况的设计思想是,首先根据用户输入的查询条件(姓名可以是姓氏,也可以是名字,也就是说可以进行精确的查询,也可以进行模糊的查询。
学号也是,可以根据是等于学号,还是一个范围来找一个人,还是一批人的信息。
),找到要删除的人的信息,然后询问用户是否真的要删除。
用户回答是,就把用户有关的所有满足条件的记录都删除。
用户回答否之后,不进行任何操作。
2.1.3个人情况删除
界面如图2-4所示:
图2-4个人情况删除
删除按钮的代码如下;
DimsqlAsString
Text1=Trim(Text1)
Text2=Trim(Text2)
Text3=Trim(Text3)
Text4=Trim(Text4)
IfText1=""AndText2=""AndText3=""AndText4=""Then
MsgBox"请输入条件!
"
ExitSub
EndIf
sql="1"
IfTrim(Text1)<>""Then
IfCombo1.Text="精确"Then
sql=sql+"and姓名='"&Text1&"'"
Else
sql=sql+"and姓名like'%"&Text1&"%'"
EndIf
EndIf
IfOption1.ValueThen
IfText2<>""Thensql=sql+"and学号='"&Text2&"'"
Else
IfText3<>""Thensql=sql+"and学号>='"&Text3&"'"
IfText4<>""Thensql=sql+"and学号<='"&Text4&"'"
EndIf
Adodc1.RecordSource="select*fromjibenqingkuangwhere"&sql
Adodc1.Refresh
IfAdodc1.Recordset.EOFThen
MsgBox"没有找到要