(精品论文)基于vb的学生管理系统 毕业论文_第1页
(精品论文)基于vb的学生管理系统 毕业论文_第2页
(精品论文)基于vb的学生管理系统 毕业论文_第3页
(精品论文)基于vb的学生管理系统 毕业论文_第4页
(精品论文)基于vb的学生管理系统 毕业论文_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文(设计)基于VB的学生管理系统 设计与实现姓 名: 系 别: 计算机科学系 专 业: 计算机科学与技术 学 号: 指导教师: 20年 月 日1目 录1 界面设计11.1 菜单栏的设计11.2 工具栏的设计21.3 状态栏的设计32 模块设计32.1 个人情况模块32.2 考勤模块102.3 奖学金模块152.4 等级考试模块 个人成绩模块 选修成绩模块172.5 个人交费情况232.6 用户管理模块232.7 登陆模块262.8 ADO控件28结束语28参考文献28致 谢30基于VB的学生管理系统设计与实现摘 要学生管理系统对于学校的决策者和管理者来说都至关重要,是一个教育单位不可缺少的管理工具,能够为用户提供充足的信息和快捷的查询手段。本学生管理系统是基于VB技术的系统。包括个人情况模块、考勤模块、奖学金模块、等级考试模块、个人成绩模块、选修成绩模块、个人交费情况模块、用于控制操作级别的用户管理模块。在这些模块中,除了基本的删除、添加、查询外,有的模块还加了更加详细的查询内容。关键词学生管理系统;模块;查询Design and Realization of the Student Management System Based on VBAbstractThe student management system is vital for decision-makers and managers of schools. It is an indispensable management tool which can provide sufficient information and quick query measure for them. This student management system is based on VB technology, includes the individual situation module, the checking attendance module,the scholarship module,the rank test module,the individual performance module, the choose course result module,the individual paying-fee situation module,the user management module. Basic functions such as delete, add and query are realized in these modules,and more detailed query contents are added in some of the modules.KeywordsThe Sudent Mnagement System; Module; Query本科毕业论文(设计)学生管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。使用计算机对学生档案信息进行管理,具有手工管理无法比拟的优点。如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大地提高学生档案管理的效率。本学生管理系统包括个人情况模块、考勤模块、奖学金模块、等级考试模块、个人成绩模块、选修成绩模块、个人交费情况模块、用于控制操作级别的用户管理模块。在这些模块中,除了基本的删除、添加、查询外,有的模块还加了更加详细的查询内容。1 界面设计1.1 菜单栏的设计在窗体的标题栏下显示的是菜单栏,它包含一个或多个菜单标题。在程序运行时,当用户选择某个菜单标题时会下拉出一个菜单,菜单中的菜单项可以是命令、选项、分隔条或子菜单标题。每个菜单项都是一个控件,与其他控件一样也有自己的属性和事件。菜单项的每个属性都能设置和查看,如name(名称)和caption(标题)属性等。每个菜单项只能响应一个事件,即Click事件。具体步骤如下:(1)在设计状态,选择工具“菜单下的菜单编辑器(Ctrl+E)”命令,会出现菜单编辑器窗口。(2)在菜单设计窗口中,按下表对每一个菜单项输入标题、控制名称和相应的快捷键。如表1-1菜单项的设计。表1-1 菜单项的设置菜单项名称快捷键系统管理Xitong添加用户UseraddCtrl+A修改密码UsermodiCtrl+B重新登陆denglu2Ctrl+F1_e14退出ExitCtrl+A考勤管理Kaoqingguanli考勤情况输入Kaoqintianjia考勤情况查询Kaoqinchaxun考勤记录删除Kaoqinshanchu学生档案管理Dangan档案浏览StudentliulanCtrl+G档案删除Studendelete档案添加StudentaddCtrl+F档案查询StudentfindCtrl+H学生交费管理Jiaofei_Ee学生交费浏览JiaofeibrowseCtrl+M学生交费添加JiaofeiaddCtrl+N学生交费查询JiaofeifindCtrl+O选修课管理Xuanxiukeguanli选修成绩添加xuanxiuchengjitianjiaCtrl+P选修成绩删除xuanxiuchengjishanchu选修成绩查询xuanxiuchengjichaxun成绩与奖学金管理Cjjxjguanli奖学金管理Jiangxuejin奖学金结果输入Jxjtianjia奖学金结果删除Jxjshanchu奖学金情况查询Jxjchuxun成绩管理Cjguanli成绩删除ChengjishanchuCtrl+R成绩添加CjaddCtrl+S成绩查询CjfindCtrl+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)tianjia40tianjiachaxun20chaxunsanchu60sanchujisuan100jisuanguanbi120guanbi(2)在ToolBar控件中创建Button对象。ToolBar控件中的每个按钮的图像都来自ImageList对象中插入的图像。为工具栏连接图像在窗体上增加ToolBar控件后,打开“属性页”对话框,选择“通用”标签,对其各项进行设置,一般取默认值。为工具栏增加按钮在“属性页”对话框中选择“按钮”标签,单击“插入按钮”可以在工具栏增加按钮,然后对各属性进行设置。(3)在uttonClick事件中用Select Case语句对各按钮进行相应的编程。1.3 状态栏的设计状态栏用来显示系统信息和对用户的提示。创建状态栏的步骤是:(1)建立状态栏设计时,在窗体上增加Statusbar控件后,打开其“属性面”对话框,选择“窗格”标签,设置个窗格,各窗格属性设置如表1-3。表1-3 Statusbar控件属性设置索引(Index)样式(Style)文本(Text)说明sbrtext学生管理系统显示学生管理系统sbrtext显示当前操作员sbrtext显示当前用户是管理员还是普通用户sbrtext显示开发该软件的组成人员sbrtext空白(2)运行时改变状态栏运行时,能重新设置窗格Panel对象以反映不同的功能,除第一个窗格外其它的窗格都通过编程来实现。2 模块设计用 户 管 理学生管理系统考 勤 管 理学 生 档 案 管 理学 生 交 费 管 理选 修 课 管 理成 绩 管 理奖 学 金 管 理等 级 考 试 管 理本学生管理系统结构图,如图2-1所示:图2-1 学生管理系统结构图2.1 个人情况模块个人情况模块有三个小的模块组成:修改与添加,删除,查询。2.1.1 个人基本情况添加界面如图2-2所示:图2-2 个人信息添加个人基本情况添加模块的设计思想是首先看输入的内容,即个人信息是不是空的。如果是空的,则不允许添加;如果不是空的,那么在个人情况表与个人详细情况表中加入界面上所输入的信息。它的添加功能是用下面的代码实现的:If Trim(Text1) = Or Trim(Text2) = Or Trim(Text3) = Or Trim(Text4) = Or Trim(Text5) = Or Trim(Text6) = Or Trim(Text7) = Or Trim(Text9) = Or Trim(Text10) = Or Trim(Text11) = ThenMsgBox 所有信息都不能为空!Exit SubEnd IfAdodc1.RecordSource = select * from jibenqingkuangAdodc1.RefreshAdodc1.Recordset.AddNewAdodc1.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.UpdateAdodc1.Recordset.CloseAdodc1.RecordSource = select * from xiangxiqingkuangAdodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset.Fields(姓名) = Trim(Text2)Adodc1.Recordset.Fields(身份证号) = Trim(Text9)Adodc1.Recordset.Fields(生源所在地) = Trim(Text10)Adodc1.Recordset.Fields(家庭所在地) = Trim(Text11)Adodc1.Recordset.UpdateMsgBox 个人基本情况和详细情况的记录添加成功!2.1.2 个人基本情况的查询界面如图2-3所示:图2-3 基本情况查询设计思想是先在条件中输入要查找的条件,然后按所输入的条件用SQL语言的SELECT语句进行查询。在查询之前,要看看输入的条件是不是为空,如果为空,出现提示,“没有输入条件,请输入!”然后,在根据姓名条件的精确或是模糊进行查询。查询到的个人信息,放到具体的文本框中。它的四个按钮用来控制得到的记录集的上下移动。中间自己定义了一个过程move1,用来更新文本框的数据。部分代码如下:查询代码:Dim sql As Stringsql = 1If Trim(Text1) = And Trim(Text2) = And Trim(Text3) = And Trim(Text4) = And Trim(Combo1.Text) = 忽略 And Trim(Combo2.Text) = 忽略 ThenMsgBox 没有输入条件,请输入!Exit SubEnd IfIf Trim(Text1) ThenIf Option1.Value Thensql = sql + and 姓名= & Text1 & Elsesql = sql + and 姓名 like % & Text1 & %End IfEnd IfIf Trim(Text2) Then sql = sql + and 年龄 & Trim(Combo3.Text) & Text2 & If Trim(Text3) Then sql = sql + and 学号 & Trim(Combo4.Text) & & Text3 & If Trim(Text4) Then sql = sql + and 班级= & Text4 & If Trim(Combo1.Text) 忽略 Then sql = sql + and 专业= & Trim(Combo1.Text) & If Trim(Combo2.Text) 忽略 Then sql = sql + and 性别= & Trim(Combo2.Text) & Adodc1.RecordSource = select * from jibenqingkuang where & sqlAdodc1.RefreshIf Adodc1.Recordset.EOF ThenMsgBox jibenqingkuang表,没有满足条件的记录!Command3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseCommand6.Enabled = FalseElseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = TrueCommand6.Enabled = Truemove1End IfIf Adodc1.Recordset.BOF ThenCommand3.Enabled = FalseCommand4.Enabled = FalseElseCommand3.Enabled = TrueCommand4.Enabled = TrueEnd IfCommand5.Enabled = TrueCommand6.Enabled = TrueAdodc1.Recordset.MovePreviousmove1move1的代码如下: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 * from xiangxiqingkuang where 姓名= & Trim(Text7.Text) & Adodc2.RefreshIf Adodc2.Recordset.EOF = True ThenMsgBox xiangxiqingkuang表,没有满足条件的记录!Exit SubElseText5.Text = Adodc2.Recordset.Fields(奖惩)Text14.Text = Adodc2.Recordset.Fields(身份证号)Text15.Text = Adodc2.Recordset.Fields(生源所在地)Text16.Text = Adodc2.Recordset.Fields(家庭所在地)End If另外,界面中还有一个修改按钮,是用来对数据库中的数据进行更正。如果不点这个按钮,就不能对文本中的数据进行修改,修改之后还需点保存按钮,写到数据库中。否则不能写到数据库中。修改按钮代码如下:If gly = False ThenMsgBox 你不是管理员,此按钮你不能使用!Exit SubEnd IfIf Command7.Caption = 修改 ThenText5.Locked = FalseText8.Locked = FalseText9.Locked = FalseText10.Locked = FalseText11.Locked = FalseText12.Locked = FalseText13.Locked = FalseText14.Locked = FalseText15.Locked = FalseText16.Locked = FalseCommand7.Caption = 保存ElseText5.Locked = TrueText8.Locked = TrueText9.Locked = TrueText10.Locked = TrueText11.Locked = TrueText12.Locked = TrueText13.Locked = TrueText14.Locked = TrueText15.Locked = TrueText16.Locked = TrueCommand7.Caption = 修改Adodc1.Recordset.Fields(学号) = Text6.TextAdodc1.Recordset.Fields(姓名) = Text7.TextAdodc1.Recordset.Fields(性别) = Text8.TextAdodc1.Recordset.Fields(班级) = Text9.TextAdodc1.Recordset.Fields(年龄) = Text10.TextAdodc1.Recordset.Fields(专业) = Text11.TextAdodc1.Recordset.Fields(政治面貌) = Text12.TextAdodc1.Recordset.Fields(出生日期) = Text13.TextAdodc2.Recordset.Fields(奖惩) = Text5.TextAdodc2.Recordset.Fields(身份证号) = Text14.TextAdodc2.Recordset.Fields(生源所在地) = Text15.TextAdodc2.Recordset.Fields(家庭所在地) = Text16.TextAdodc1.Recordset.UpdateAdodc2.Recordset.UpdateEnd If在浏览表中单击,浏览之后,就可以看到个人情况的所有资料。用上一条、下一条、首条、末条四个按钮,就可以完成浏览操作。删除个人情况的设计思想是,首先根据用户输入的查询条件(姓名可以是姓氏,也可以是名字,也就是说可以进行精确的查询,也可以进行模糊的查询。学号也是,可以根据是等于学号,还是一个范围来找一个人,还是一批人的信息。),找到要删除的人的信息,然后询问用户是否真的要删除。用户回答是,就把用户有关的所有满足条件的记录都删除。用户回答否之后,不进行任何操作。2.1.3 个人情况删除界面如图2-4所示:图2-4个人情况删除删除按钮的代码如下;Dim sql As StringText1 = Trim(Text1)Text2 = Trim(Text2)Text3 = Trim(Text3)Text4 = Trim(Text4)If Text1 = And Text2 = And Text3 = And Text4 = ThenMsgBox 请输入条件! Exit SubEnd Ifsql = 1If Trim(Text1) ThenIf Combo1.Text = 精确 Thensql = sql + and 姓名= & Text1 & Elsesql = sql + and 姓名 like % & Text1 & %End IfEnd IfIf Option1.Value ThenIf Text2 Then sql = sql + and 学号= & Text2 & ElseIf Text3 Then sql = sql + and 学号= & Text3 & If Text4 Then sql = sql + and 学号 3 ThenAdodc1.Recordset.Fields(第n周) = Mid(Trim(Combo1.Text), 2, 2)ElseAdodc1.Recordset.Fields(第n周) = Mid(Trim(Combo1.Text), 2, 1)End IfAdodc1.Recordset.Fields(节次) = Trim(Combo2.Text)Adodc1.Recordset.Fields(星期几) = Trim(Combo3.Text)Adodc1.Recordset.Fields(总节数) = Trim(Text2.Text)Adodc1.Recordset.Fields(缺课事由) = Trim(Text3.Text)Adodc1.Recordset.UpdateMsgBox 学号: & Trim(Text1) & 添加成功!这个界面中的浏览按钮用来让用户查看添加之后的所有表中的信息。它可以把表单放大,代码如下:Adodc1.RecordSource = select * from kaoqinbiao Adodc1.RefreshIf Command3.Caption = 浏览 ThenForm5.Height = 6030Command3.Caption = 返回ElseForm5.Height = 3165Command3.Caption = 浏览End If2.2.2 删除模块删除的设计思想和上一个模块的设计思想一样,都是先找到符合条件的记录。然后,再进行删除。不过有一点不同的是,这个删除条件之间的关系,可以是并且的关系,也可以是或者的关系。它用两个单选按钮来实现。界面如图2-6所示:图2-6 考勤表删除核心代码如下:Dim sql As StringIf Option2.Value Then sql = 1If Trim(Text1) Then sql = sql + and 学号= & Trim(Text1) & If Trim(Text2) Then sql = sql + and 总节次= & Trim(Text2) & If Trim(Text3) Then sql = sql + and 缺课事由= & Trim(Text3) & If Combo1.Text 忽略 ThenIf Len(Trim(Combo1.Text) 3 Then sql = sql + and 第n周= & Mid(Trim(Combo1.Text), 2, 2) & Elsesql = sql + and 第n周= & Mid(Trim(Combo1.Text), 2, 1) & End IfEnd IfIf Combo2.Text 忽略 Then sql = sql + and 节次= & Trim(Combo2.Text) & If Combo3.Text 忽略 Then sql = sql + and 总节数= & Trim(Combo3.Text)Elsesql = 0If Trim(Text1) Then sql = sql + or 学号= & Trim(Text1) & If Trim(Text2) Then sql = sql + or 总节次= & Trim(Text2) & If Trim(Text3) Then sql = sql + or 缺课事由= & Trim(Text3) & If Combo1.Text 忽略 ThenIf Len(Trim(Combo1.Text) 3 Then sql = sql + or 第n周= & Mid(Trim(Combo1.Text), 2, 2) & Elsesql = sql + or 第n周= & Mid(Trim(Combo1.Text), 2, 1) & End IfEnd IfIf Combo2.Text 忽略 Then sql = sql + or 节次= & Trim(Combo2.Text) & If Combo3.Text 忽略 Then sql = sql + or 总节数= & Trim(Combo3.Text)End IfAdodc1.RecordSource = select * from kaoqinbiao where & sqlAdodc1.RefreshIf Adodc1.Recordset.EOF ThenMsgBox 没有满足条件的记录!请重输入。Exit SubElseForm7.Height = 5040End Ifn = MsgBox(显示的为满足条件的记录,是否真的要全部删除!, 36, 删除吗?)If n = vbYes ThenDo While Not Adodc1.Recordset.EOFAdodc1.Recordset.DeleteAdodc1.Recordset.UpdateAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF Then Exit DoLoopMsgBox 成功删除!End If2.2.3 考勤表的查询界面如图2-7所示:图2-7 考勤表查询考勤表的查询和个人情况表的查询设计思想是一样的。有一点不同的是,它也可以进行模糊的查询与精确的查询。可以在表单界面的条件的关系框中进行选择。条件之间的关系是同时,还是或者的关系。同样,再输入查询条件的时候,在文本框中,要不输入数据的规范格式,要不然就不输入数据。不输入数据的话,就不按此项查询,只有输入了,才按输入的数据进行查找。查询的代码如下:Dim sql As StringIf Option2.Value Then sql = 1If Trim(Text1) Then sql = sql + and 学号= & Trim(Text1) & If Trim(Text2) Then sql = sql + and 总节次= & Trim(Text2)If Trim(Text3) Then sql = sql + and 缺课事由= & Trim(Text3) & If Combo1.Text 忽略 Then sql = sql + and 第n周= & Trim(Mid(Combo1.Text, 2, 2) & If Combo2.Text 忽略 Then sql = sql + and 节次= & Trim(Combo2.Text) & If Combo3.Text 忽略 Then sql = sql + and 星期几= & Trim(Combo3.Text) & Elsesql = 0If Trim(Text1) Then sql = sql + or 学号= & Trim(Text1) & If Trim(Text2) Then sql = sql + or 总节次= & Trim(Text2)If Trim(Text3) Then sql = sql + or 缺课事由= & Trim(Text3) & If Combo1.Text 忽略 Then sql = sql + or 第n周= & Trim(Mid(Combo1.Text, 2, 2) & If Combo2.Text 忽略 Then sql = sql + or 节次= & Trim(Combo2.Text) & If Combo3.Text 忽略 Then sql = sql + or 星期几= & Trim(Combo3.Text) & End IfAdodc1.RecordSource = select * from kaoqinbiao where & sqlAdodc1.RefreshIf Adodc1.Recordset.EOF ThenMsgBox 没有满足条件的记录!请重输入。Exit SubElseCommand3.Enabled = TrueEnd If进行查询之后,才可以进行“修改”工作。(必须单击修改按钮之后,才可以进行修改。)在单击了修改按钮之后,还要看他是不是管理员,是管理员才能继续使用,不是的话,出现提示,你不是管理员,不能使用此项功能!在单击了修改按钮的同时,它的名字就变为保存。修改完之后,再次单击,就可以把数据存入数据库,并且按钮的名字变为修改。代码如下:If gly = False ThenMsgBox 你不是管理员,不能使用此项功能!EndEnd IfIf Command3.Caption = 修改 ThenDataGrid1.AllowUpdate = TrueCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Caption = 保存ElseAdodc1.Recordset.UpdateDataGrid1.AllowUpdate = FalseCommand1.Enabled = TrueCommand2.Enabled = TrueCommand3.Caption = 修改End If2.3 奖学金模块2.3.1 查询模块 界面如图2-8所示:图2-8 奖学金查询奖学金查询模块的设计思想和考勤查询模块的设计思想是一样的。这里就不加详细说明了,只把它的代码给出。如下所示:Dim sql As StringIf Option2.Value Then sql = 1If Trim(Text1) Then sql = sql + and 学号= & Trim(Text1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论