健身跑学分管理系统.docx
《健身跑学分管理系统.docx》由会员分享,可在线阅读,更多相关《健身跑学分管理系统.docx(12页珍藏版)》请在冰豆网上搜索。
![健身跑学分管理系统.docx](https://file1.bdocx.com/fileroot1/2023-2/4/f9c5f7de-11a6-4f50-bbd2-015dbde27746/f9c5f7de-11a6-4f50-bbd2-015dbde277461.gif)
健身跑学分管理系统
沈阳航空航天大学
课程设计
学号2009040301005
班级94030101
姓名王望
指导教师刘学平
2011年3月18日
沈阳航空航天大学
课程设计任务书
学院:
航宇专业:
飞行器制造班级:
94030101
学号:
2009040301005题目:
健身跑学分管理系统
一、课程设计时间
2011年3月7日~11日(第1周),共计1周。
二、课程设计内容
用VB+Access组合,编写“健身跑学分管理”软件。
学生信息存储到Access数据库的一个表中,学生信息至少包括:
学号、姓名、签到次数、学分等,后两项的初始值为0。
学分计算方法:
在本学期内累计次数达到10次,可得到0.5学分,否则没有学分,新学期开始累计次数从0开始累计,每签到一次,累计签到次数加1。
程序能实现对学生数据进行维护、跑步签到、按学号或学分查询等功能。
用户界面中的菜单至少应包括“编辑学生数据”、“跑步签到”、“查询”、“退出”4项。
三、课程设计要求
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课设结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩
六、教师评语
一、需求分析
模拟健身跑学分管理系统,主要包括“编辑学生数据”`“跑步签到”`“查询”几项功能。
由于签到次数和学分有一定的联系,所以系统能够按照学号或学分查询学生的健身跑签到情况。
要求:
①在Access中创建学生基本状况表,主要包括跑步签到”和“实际学分”2方面信息。
此表的结构应如下定义:
学号,姓名,签到次数,学分。
②能够随时显示学生签到次数和学分情况。
③能够随时编辑学生的信息,包括添加,删除和修改学生信息。
④能够随时的按学号或学分查询学生的健身跑签到情况。
二、设计分析
(1)基本原理:
用VB+Access组合,编写“健身跑学分管理”软件。
学生信息存储到Access数据库的一个表中,建立程序设计与数据库的连接,用SQL语句在数据库中查找,添加和更改数据。
(2)总体设计:
图1总体设计
(3)详细设计:
开始
连接数据库
查询学生数据
编辑学生数据
跑步签到
显示签到和学分情况
添加,删除和修改学生信息数据
学生跑步签到
图1详细设计
(4)数据库设计:
数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无谓的重复工作。
本系统的数据库包括1个表,即学生基本状况表。
1)学生基本状况表(rsb.dbf)
学生基本状况表(rsb.dbf)用于记录学号、姓名、签到次数、学分等信息,其逻辑结构如表1所示。
表1学生基本状况表
字段名称
数据类型
字段大小
小数位数
必填字段
学号
数字
长整型
自动
否
姓名
文本
50
否
签到次数
数字
长整型
自动
否
学分
数字
单精度
自动
否
三、关键技术
(1)建立与数据库的连接代码如下。
PrivateSubForm_Load()
Dimmpath$,mlink$
mpath=App.Path'获取程序所在的路径
IfRight(mpath,1)<>"\"Thenmpath=mpath+"\"'判断是否为子目录
'以下两行代码可合成一句,mlink存放ConnectionString属性的设置值
mlink="Provider=Microsoft.Jet.OLEDB.4.0;"'指定提供者
mlink=mlink+"DataSource="+mpath+"student.mdb"'在数据库文件名前插入路径
Adodc1.ConnectionString=mlink'设置连接属性
Adodc1.CommandType=adCmdUnknown'指定记录集命令类型(可在设计时指定)
Adodc1.RecordSource="Select*from基本状况"
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
EndSub
(2)查询经营情况是SQL语句在数据库中查找学生健身跑基本状况
Recordset.Find搜索条件<,<位移>,<搜索方向>,<起始位置>>
Select<字段名表>From<表名>Where<条件>
程序段如下:
按学号查询:
PrivateSubCommand2_Click()
DimnAsString
n=InputBox("请输入学号","查找窗")
Adodc1.Recordset.Find"学号='"&n&"'",,,1
IfAdodc1.Recordset.EOFThenMsgBox"无此学号!
",,"提示"
EndSub
按学分查询:
PrivateSubCommand5_Click()
Dimn!
n=InputBox("请输入学分","查找窗")
Adodc1.RecordSource="select*from基本状况where学分="&n&""
Adodc1.Refresh
EndSub
窗体-查询:
图2窗体-按学号查询
图3窗体-按学分查询
(3)跑步签到会更改数据库中签到次数和学分信息。
程序段如下:
PrivateSubCommand4_Click()
IfOption1.Value=TrueThen
Text3=Text3+1
Adodc1.Recordset.Fields("签到次数")=Text3
EndIf
IfText3.Text>=10Then
Adodc1.Recordset.Fields("学分")=0.5
Else
Adodc1.Recordset.Fields("学分")=0
EndIf
EndSub
窗体-跑步签到
图4窗体-跑步签到
(4)编辑学生信息是向数据库中添加,删除和修改学生的基本状况信息。
程序段如下:
PrivateSubCommand1_Click(indexAsInteger)
DimaskAsInteger
SelectCaseindex
Case0
Adodc1.Recordset.AddNew'添加
Case1
ask=MsgBox("删除否?
",vbYesNo)
Ifask=6Then
Adodc1.Recordset.Delete'删除
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
Case2
Adodc1.Recordset.Update'修改
EndSelect
EndSub
窗体-编辑学生信息:
图5窗体-添加学生信息
四、总结
这次课设我的题目是健身跑学分管理系统,当然理论知识是用来指导实践的,亲身体验才能领悟编写程序的妙用,在课设中我被分到了健身跑学分管理系统,同时我们在平时生活中这个我们接触比较多,对于它的流程还是比较清晰的,但是我还是花了很长的时间去完成它,通过这次课设让我了解了用VB+Access组合,编写“健身跑学分管理”软件。
将学生信息存储到Access数据库的一个表中,VB与数据库之间的联系,可以应用ADO技术使VB与数据库进行联系,还可以应用SQL语言查询和更改数据库中的信息,并能向其中添加新的信息。
让我们的理论知识在实践中得以巩固。
在课设过程中,我遇到了重重困难,例如:
VB与数据库的连接技术,通过老师的指点和自己查阅资料,我克服了困难,顺利的完成了任务。
同时我也了解了VB的出现是一场技术革命,它在生活中各个方面都能发挥巨大的作用,所以,学好VB是社会发展的需要。
五、完整的源程序
OptionExplicit
PrivateSubCommand1_Click(indexAsInteger)
DimaskAsInteger
SelectCaseindex
Case0
Adodc1.Recordset.AddNew'添加
Case1
ask=MsgBox("删除否?
",vbYesNo)
Ifask=6Then
Adodc1.Recordset.Delete'删除
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
Case2
Adodc1.Recordset.Update'修改
EndSelect
EndSub
PrivateSubCommand2_Click()
DimnAsString
n=InputBox("请输入学号","查找窗")
Adodc1.Recordset.Find"学号='"&n&"'",,,1
IfAdodc1.Recordset.EOFThenMsgBox"无此学号!
",,"提示"
EndSub
PrivateSubCommand3_Click()
End
EndSubPrivateSubCommand4_Click()
IfOption1.Value=TrueThen
Text3=Text3+1
Adodc1.Recordset.Fields("签到次数")=Text3
EndIf
IfText3.Text>=10Then
Adodc1.Recordset.Fields("学分")=0.5
Else
Adodc1.Recordset.Fields("学分")=0
EndIf
EndSub
PrivateSubCommand5_Click()
Dimn!
n=InputBox("请输入学分","查找窗")
Adodc1.RecordSource="select*from基本状况where学分="&n&""
Adodc1.Refresh
EndSub
PrivateSubForm_Load()
Dimmpath$,mlink$
mpath=App.Path'获取程序所在的路径
IfRight(mpath,1)<>"\"Thenmpath=mpath+"\"'判断是否为子目录
'以下两行代码可合成一句,mlink存放ConnectionString属性的设置值
mlink="Provider=Microsoft.Jet.OLEDB.4.0;"'指定提供者
mlink=mlink+"DataSource="+mpath+"student.mdb"'在数据库文件名前插入路径
Adodc1.ConnectionString=mlink'设置连接属性
Adodc1.CommandType=adCmdUnknown'指定记录集命令类型(可在设计时指定)
Adodc1.RecordSource="Select*from基本状况"
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
EndSub
文献
[1]龚沛曾杨志强陆慰民.《VisualBasic程序设计教程》.北京:
高等教育出版社,2001
[2]郑海春谢维成.《visualbasic6.0精彩编程150例》.西安:
西北工业大学出版社,2004
[3]夏邦贵刘凡馨.《Visualbasic数据库开发经典实例精解》.北京:
北京机械工业出版社,2005