基于SQL+VB的学生成绩管理系统.docx
- 文档编号:24143862
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:50
- 大小:373.56KB
基于SQL+VB的学生成绩管理系统.docx
《基于SQL+VB的学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《基于SQL+VB的学生成绩管理系统.docx(50页珍藏版)》请在冰豆网上搜索。
基于SQL+VB的学生成绩管理系统
《应用软件实践》课程设计
(2012/2013-2分散)
课程名称:
学生成绩管理系统
班级:
10通信工程
(2)班
学号:
Xb10680218
姓名:
张泽星
指导老师:
霍戌文、郭奕亿
2013年3月
目录
一、题目:
3
学生成绩管理系统3
二、目的和要求:
3
三、需求分析:
3
四、数据分析与建模:
4
数据分析4
E-R图4
系统流程图6
五、数据库建立:
6
学生基本信息表6
登入表7
六、数据库应用开发与运行:
7
登入界面7
密码修改界面9
学生基本信息管理界面10
学生基本信息修改界面22
学生成绩管理界面24
七、结果分析、结论与体会:
33
八、参考文献及资料:
33
一、题目:
学生成绩管理系统
二、目的和要求:
1.掌握软件工程的规范掌握一般应用软件开发的基本过程、基本技术,为以后的毕业设计奠定基础。
2.掌握关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。
3.培养把所学知识运用到具体对象,理解面向对象编程理论,并能求出解决方案的能力。
运用关系型数据库管理系统,实现学生成绩管理系统开发。
具体功能如下:
1、学生基本信息设置:
包括专业、班级、姓名、学号等;
2、学生课程名称和成绩录入;
3、学生基本信息和课程信息的查询及增删改;
4、成绩排名及相应绩点分计算。
三、需求分析:
目前计算机管理在日常生活中的地位变得越来越重要。
它能够代替人做各种重复、繁琐的劳动,并且拥有操作简单、可信度好、不易出错等优点,大大减少了不必要的人力消耗,提高个人的工作效率。
随着学校的规模不断扩大,学生人数急剧增加,有关学生的各种信息也成倍增长。
面对庞大的信息量需要有学生管理系统来提供学生管理工作的效率。
通过这样的系统可以做到信息的规范管理,科学统计和快速查询,修改,增加,删除等,从而减少管理方面的工作量。
实现学生信息关系的系统化,规范化,自动化,用计算机对学生各种信息进行日常管理。
学生信息查询是每个学校必须面临的问题,所以,如何开发一个应用简单、界面友好、容易操作、数据安全性好的管理系统就成为非常重要的技术问题。
四、数据分析与建模:
数据分析
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构设计可提高数据存储的效率,保证数据的完整和一致。
同时,合理的数据库结构也将有利于程序的实现。
数据库需求分析
用户的需求具体体现在各种信息的提供、保证、更新和查询,这就要求数据库结构能够充分满足各种信息的输出和输入。
针对一般学生信息管理系统的要求,通过对学生学习过程的内容和数据流程分析,设计如下的数据项和数据结构:
1、学生基本信息包括的数据项有:
学生学号、学生姓名、性别、班级、专业、政治面貌。
2、学生成绩信息包括数据项有:
学生学号、课程号、考试分数、绩点、学分。
3、 学生登入信息有:
学号、密码。
根据上面的数据结构、数据项和数据流程,进行数据库设计
E-R图
系统流程图
五、数据库建立:
学生基本信息表
字段名
类型
长度
允许空
主键
学号
char
15
否
是
姓名
char
10
否
否
专业
char
10
是
否
班级
char
4
是
否
性别
char
10
是
否
政治面貌
char
10
是
否
登入表
字段名
类型
长度
允许空
主键
学号
char
15
否
是
密码
char
10
否
否
成绩表
字段名
类型
长度
允许空
主键
学号
char
15
否
是
课程号
int
4
否
是
成绩
float
8
是
否
绩点
float
8
是
否
所得学分
int
4
是
否
六、数据库应用开发与运行:
登入界面
登入界面代码
PrivateSubCmdcancel_Click()
DimmyValAsString
Beep
myVal=MsgBox("确认退出系统吗?
",vbYesNo+vbQuestion,"退出")
IfmyVal=vbYesThen
UnloadMe
Else
txtname.Text=""
txtpwd.Text=""
txtname.SetFocus
EndIf
EndSub
PrivateSubcmdOK_Click()
Iftxtname.Text<>""Then
Username0.RecordSource="select*fromusernamewhere学号='"+Trim(txtname.Text)+"'"
Username0.Refresh
OnErrorGoToerrname'对不是合法用户的错误捕捉
IfTrim(txtpwd.Text)=Trim(username0.Recordset.Fields("密码"))Then
Valming=Trim(txtname.Text)'记录登陆用户用户名
LoadForm2
Form2.Show
UnloadMe
ExitSub
Else
MsgBox"您的用户名或密码有误,请重行输入!
",vbExclamation+vbDefaultButton1,"错误"
txtname.Text=""
txtpwd.Text=""
txtname.SetFocus
ExitSub
EndIf
EndIf
errname:
MsgBox"抱歉您的用户名不存在!
",vbInformation+vbOKOnly,"抱歉"
txtname.Text=""
txtname.SetFocus
ExitSub
EndSub
详细功能:
当输入错误学号、没任何信息输入的时候,系统会提示“抱歉您的用户名不存在!
”,并且清空当前的输入。
只有输入正确的账号和密码,且和数据库中预存的,能够对应上才能够登入学生管理系统。
点击退出则退出该系统。
点击修改,对学生的密码进行修改,学号不能被修改。
密码修改界面
密码修改界面“确定按钮”代码
PrivateSubCommand1_Click()
IfTxtnum.Text<>""Then
password.RecordSource="select*fromusernamewhere学号='"+Trim(Txtnum.Text)+"'"
password.Refresh
'对不是合法用户的错误捕捉
IfNot(password.Recordset.BOF)Then
IfTrim(Txtpassword1.Text)=""OrTrim(Txtpassword2.Text)=""Then
MsgBox"密码为空或输入不相等,请重新输入密码!
",vbInformation+vbOKOnly,"抱歉"
Txtpassword1.Text=""
Txtpassword2.Text=""
Txtpassword1.SetFocus
ElseIfTxtpassword1.Text<>Txtpassword2.TextThen
MsgBox"两次密码输入有误,请重行输入!
",vbExclamation+vbDefaultButton1,"错误"
Txtpassword1.Text=""
Txtpassword2.Text=""
Txtpassword1.SetFocus
ElseIfTxtpassword1.Text=Txtpassword2.TextThen
password.Recordset.Fields("密码")=Trim(Txtpassword2.Text)
password.Recordset.Update
password.Refresh
MsgBox"密码修改成功!
",vbInformation+vbOKOnly,"提示"
EndIf
Else:
MsgBox"抱歉您的学号不存在!
",vbInformation+vbOKOnly,"抱歉"
Txtnum.Text=""
Txtpassword1.Text=""
Txtpassword2.Text=""
Txtnum.SetFocus
EndIf
Else:
MsgBox"抱歉您的输入的学号为空!
",vbInformation+vbOKOnly,"抱歉"
Txtnum.Text=""
Txtpassword1.Text=""
Txtpassword2.Text=""
Txtnum.SetFocus
EndIf
EndSub
详细功能:
在此界面输入正确的学号,然后再输入两次密码,若两次密码输入相同则密码修改成功。
不相同则进行报错,密码修改不成功!
学生基本信息管理界面
界面代码
“添加记录”按钮代码
PrivateSubCmdadd_Click()
Txtnum.DataField=""'取消与数据库的关联
txtname.DataField=""
Txtmag.DataField=""
Txtclass.DataField=""
Txtsex.DataField=""
Txtpolity.DataField=""
Txtnum.SetFocus
Txtnum.Text=""'清空文本框,用于添加学生基本信息
txtname.Text=""
Txtmag.Text=""
Txtclass.Text=""
Txtsex.Text=""
Txtpolity.Text=""
CmdAdd.Enabled=False'对相应按键是否可用进行选择
Cmddel.Enabled=False
Cmdnext.Enabled=False
CmdPrev.Enabled=False
Cmdsure.Enabled=True
cmdcancel.Enabled=True
txtname.Locked=False'对文本框进行解锁,用于输入学生的基本信息
Txtclass.Locked=False
Txtnum.Locked=False
Txtmag.Locked=False
Txtsex.Locked=False
Txtpolity.Locked=False
EndSub
“确定添加”按钮代码
PrivateSubCmdsure_Click()
Cmdnext.Enabled=False'点击确定添加按钮之后,相应的按钮被锁住和解锁
CmdPrev.Enabled=False
Cmddel.Enabled=False
cmdcancel.Enabled=True
IfTxtnum.Text<>""Andtxtname.Text<>""Then'判断“Txtnum.Text”和“Txtname.Text”输入是否为空,因为数据库中设置属性为不允许为空
search.RecordSource="select*frominformationwhere学号='"+Trim(Txtnum.Text)+"'"
search.Refresh
Ifsearch.Recordset.BOFThen'判断添加的学生学号是否和数据库中的学号有重复,没有则顺序执行
search.Recordset.AddNew'在“information”学生基本信息表中增加相应的学生信息,除学号、姓名外其它字段允许为空
search.Recordset.Fields("学号")=Txtnum.Text
search.Recordset.Fields("姓名")=Trim(txtname.Text)
search.Recordset.Fields("专业")=Trim(Txtmag.Text)
search.Recordset.Fields("班级")=Trim(Txtclass.Text)
search.Recordset.Fields("性别")=Trim(Txtsex.Text)
search.Recordset.Fields("政治面貌")=Trim(Txtpolity.Text)
search.Recordset.Update
search.Refresh
password.Refresh'增加用户表中学生学号,初始密码是123456
password.Recordset.AddNew
password.Recordset.Fields("学号")=Trim(Txtnum.Text)
password.Recordset.Update
password.Refresh
chiness0.Refresh'增加相应成绩表中学生信息
chiness0.Recordset.AddNew
chiness0.Recordset.Fields("学号")=Trim(Txtnum.Text)
chiness0.Recordset.Fields("成绩")=0
chiness0.Recordset.Update
chiness0.Refresh
english0.Refresh
english0.Recordset.AddNew
english0.Recordset.Fields("学号")=Trim(Txtnum.Text)
english0.Recordset.Fields("成绩")=0
english0.Recordset.Update
english0.Refresh
physics0.Refresh
physics0.Recordset.AddNew
physics0.Recordset.Fields("学号")=Trim(Txtnum.Text)
physics0.Recordset.Fields("成绩")=0
physics0.Recordset.Update
physics0.Refresh
photoshop0.Refresh
photoshop0.Recordset.AddNew
photoshop0.Recordset.Fields("学号")=Trim(Txtnum.Text)
photoshop0.Recordset.Fields("成绩")=0
photoshop0.Recordset.Update
photoshop0.Refresh
SQL0.Refresh
SQL0.Recordset.AddNew
SQL0.Recordset.Fields("学号")=Trim(Txtnum.Text)
SQL0.Recordset.Fields("成绩")=0
SQL0.Recordset.Update
SQL0.Refresh
result0.Refresh
result0.Recordset.AddNew
result0.Recordset.Fields("学号")=Trim(Txtnum.Text)
result0.Recordset.Fields("总成绩")=0
result0.Recordset.Update
result0.Refresh
Txtnum.DataField="学号"'本文本框和学生的基本信息表中相应的字段连接起来
txtname.DataField="姓名"
Txtmag.DataField="专业"
Txtclass.DataField="班级"
Txtsex.DataField="性别"
Txtpolity.DataField="政治面貌"
Cmdnext.Enabled=True'对按键是否可用进行选择
CmdPrev.Enabled=True
Cmddel.Enabled=True
cmdcancel.Enabled=False
Cmdsure.Enabled=False
CmdAdd.Enabled=True
txtname.Locked=True'确定添加后对文本框进行锁住,防止误操作
Txtclass.Locked=True
Txtnum.Locked=True
Txtmag.Locked=True
Txtsex.Locked=True
Txtpolity.Locked=True
MsgBox"学生信息添加成功!
",vbInformation+vbOKOnly,"提示"'提示添加成功的对话框
student.Refresh
search.Refresh
Else:
MsgBox"学号有重复,请重新输入!
",vbInformation+vbOKOnly,"抱歉"
Txtnum.Text=""
Txtnum.SetFocus
EndIf
Else:
MsgBox"学号和姓名都不能为空!
",vbInformation+vbOKOnly,"抱歉"
Txtnum.Text=""
Txtnum.SetFocus
EndIf
EndSub
“取消增加”按钮代码
PrivateSubCmdcancel_Click()
Txtnum.DataField="学号"'将文本框和数据库相应的字段连接并且能够显示在文本框内
txtname.DataField="姓名"
Txtmag.DataField="专业"
Txtclass.DataField="班级"
Txtsex.DataField="姓名"
Txtpolity.DataField="政治面貌"
CmdAdd.Enabled=True'对按键是否可用进行选择
Cmddel.Enabled=True
Cmdnext.Enabled=True
CmdPrev.Enabled=True
Cmdsure.Enabled=False
cmdcancel.Enabled=False
txtname.Locked=True'取消添加之后锁定文本框,防止文本框内的学生信息被误操作
Txtclass.Locked=True
Txtnum.Locked=True
Txtmag.Locked=True
Txtsex.Locked=True
Txtpolity.Locked=True
EndSub
“删除记录”按钮代码
PrivateSubCmddel_Click()'删除按钮鼠标单击事件代码
DimiAsInteger
i=MsgBox("真的要删除当前记录吗?
",vbYesNo,"警告")'提示用户是否删除记录
Ifi=6Then'删除记录
student.Recordset.Delete
student.Refresh
EndIf
EndSub
“上一条记录”按钮代码
PrivateSubCmdPrev_Click()'上一条记录按钮鼠标单击事件代码
student.Recordset.MovePrevious
Cmdnext.Enabled=True
Ifstudent.Recordset.BOFThen
MsgBox"已经是第一条学生信息!
",vbInformation+vbOKOnly,"抱歉"
student.Recordset.MoveFirst
CmdPrev.Enabled=False
EndIf
EndSub
“下一条记录”按钮代码
PrivateSubCmdnext_Click()'下一条记录按钮鼠标单击事件代码
student.Recordset.MoveNext
CmdPrev.Enabled=True
Ifstudent.Recordset.EOFThen
MsgBox"已经是最后一条学生信息!
",vbInformation+vbOKOnly,"抱歉"
student.Recordset.MoveLast
Cmdnext.Enabled=False
EndIf
EndSub
“成绩管理界面”按钮代码
PrivateSubCommand1_Click()
DimaveAsDouble'平均分的变量
DimcreditAsInteger'学分变量
DimfailAsInteger'不及格科目变量
DimpointAsDouble'平均绩点变量
Dimchiness1AsDouble'定义变量记录各门课程的绩点
Dimenglish1AsDouble
Dimphysics1AsDouble
DimPE1AsDouble
Dimphotoshop1AsDouble
DimSQL1AsDouble
Dimchiness2AsInteger'定义变量记录各门课程的已修学分
Dimenglish2AsInteger
Dimphysics2AsInteger
DimPE2AsInteger
Dimphotoshop2AsInteger
DimSQL2AsInteger
Dimchiness3AsInteger'定义变量记录各门课程的成绩
Dimenglish3AsInteger
Dimphysics3AsInteger
DimPE3AsInteger
Dimphotoshop3AsInteger
DimSQL3AsInteger
Form4.Txtnum.DataField="学号"'本文本框和学生的基本信息表中相应的字段连接起来
Form4.txtname.DataField="姓名"
Form4.Txtmag.DataField="专业"
Form4.Txt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SQL VB 学生 成绩管理系统