VB课程设计报告 18.docx
- 文档编号:15232389
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:17
- 大小:205.63KB
VB课程设计报告 18.docx
《VB课程设计报告 18.docx》由会员分享,可在线阅读,更多相关《VB课程设计报告 18.docx(17页珍藏版)》请在冰点文库上搜索。
VB课程设计报告18
沈阳航空航天大学
课程设计
学号__
班级_
姓名_____
指导教师_______
2012年3月12日
沈阳航空航天大学
课程设计任务书
学院:
机电工程专业:
机械设计及其自动化班级:
04060101
学号:
2010040601026题目:
健身跑学分管理系统
一、课程设计时间
2012年3月5~9日(第1周),共计1周,20学时。
二、课程设计内容
用VB+Access组合,编写“健身跑学分管理”软件。
学生的信息要存储到Access数据库的student表中,此表要根据实际需要设计其结构(字段)。
学分计算方法:
在本学期内累计次数达到20次,可得到0.5学分,否则没有学分,新学期开始累计次数从0开始累计。
该系统具有如下功能:
(1)学生记录输入。
(2)跑步签到(每签到一次,累计次数加1,可进行学分计算)。
(3)查询(可按学号、学分等进行查询)。
(4)自己再增加一项功能。
三、课程设计要求
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
✧用户界面中的菜单至少应包括“学生记录输入”、“跑步签到”、“查询”、“退出”4项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩
六、教师评语
目录
需求分析4
设计分析4
技术要点7
主要界面截图8
总结11
完整的源程序12
参考文献17
需求分析
健身跑学分管理系统主要功能是学生签到,根据签到次数计算学分,并将信息存入student.mdb数据库中,所以说,首先我们就要解决vb与数据库连接的问题,这是编写整个系统的难点;其次,要使用sql语句对数据库进行编辑,也是非常重要的,也具有一定的难度。
所以说,我们在编写这个系统时,一定要对vb数据库这方面的内容非常熟悉。
我们这个系统主要有两方面的内容:
针对教师的编辑学生信息模块及针对学生的签到查询模块。
所以,我们编辑本系统时,就要做到这两个模块,编辑学生信息模块应该包含有查看、查询、新增、删除学生信息等内容;学生签到查询模块应该包含有学生签到界面、学生查询界面等内容。
设计分析
(1)概述:
经过对程序设计题目的分析可知,整个程序的设计实现大至分为6个窗体,他们的功能分别是:
主界面(form1),编辑学生信息窗口(form2),学生签到窗口(form3),学生查询窗口(form4),教师登录窗口(form5)及显示学生信息详情的窗口(form6).在这些函数中,前4个函数的实现严格按照题目的要求。
其中:
1.form1是整个管理系统的主界面,包含有三个按钮以及一个菜单,分别是签到按钮,查询按钮,退出按钮及编辑菜单;
2.form2是教师编辑学生信息的界面,具有查看,查询,新增,删除等功能;
3.form3是学生签到的界面,实现的功能是签到并把签到次数进行累加记录下来,而且根据签到算学分;
4.form4是学生查询信息的界面,允许按照学号对学生的信息的查询,并将具体信息显示在form6中;
5.form5是教师登录界面,需要输入登录口令才能进入form2,防止学生私自篡改学生信息;
6.form6是显示学生查询结果的界面,与form4配套使用。
每个学生记录都包括学号.姓名.累计次数.学分,保存在数据库student.mdb中,添加以及追加的学生信息直接写入student表中。
(2)总体设计:
框图1.总体设计图
(3)详细设计:
1.学生信息编辑模块:
框图2.
2.学生签到查询模块:
框图3.
技术要点
1关于数据库的连接
①在窗体上添加ado数据控件。
②使用ado连接对象建立与数据提供者之间的连接。
③使用ado命令对象操作数据源,从数据源中产生记录集并存放在内存中。
④建立记录集与数据绑定控件的关联,在窗体上显示数据。
图7.
图8
图9
首先,选择数据源的连接方式,鼠标右键单击ado数据控件,选择弹出菜单中的“adodc属性”命令,打开控件“属性页”对话框,如图7所示;然后选择数据库类型,单击“生成”按钮并选择MicrosoftJet4.0OLEDBProvider;其次指定数据库文件名,并且可测试连接是否成功,如图8所示;最后指定记录源,选择图7中的“记录源”选项卡,弹出记录源“属性页”对话框,如图9所示,其中,“命令类型”下拉列表框选择“2-adCmdTable”选项,“表或储存过程名称”选择“student”表。
2SQL语句的应用
⑴.Find方法的使用,例如:
Dimcz$'查找一条记录
cz=InputBox("请输入学号","查找窗")
Adodc1.Recordset.Find"学号='"&cz&"'",,,1
IfAdodc1.Recordset.EOFThenMsgBox"无此学号!
",,"提示"
⑵.记录集的编辑:
AddNew方法,Delete方法,Update方法,CancelUpdate方法等,例如:
PrivateSubCommand5_Click()
Adodc1.Recordset.AddNew'添加一条新纪录
EndSub
PrivateSubCommand6_Click()
Dimask%'删除一条记录
ask=MsgBox("确认删除?
",vbYesNo)
Ifask=6Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
EndSub
PrivateSubCommand7_Click()
Adodc1.Recordset.Update'更新
EndSub
PrivateSubCommand8_Click()
Adodc1.Recordset.CancelUpdate'取消更新
EndSub
⑶.给记录各字段赋值,例如:
Adodc1.Recordset.Fields("累计跑步次数")=Adodc1.Recordset.Fields("累计跑步次数")+1
Adodc1.Recordset.Update
IfAdodc1.Recordset.Fields("累计跑步次数")>=20Then
Adodc1.Recordset.Fields("学分")=0.5
Adodc1.Recordset.Update
Form6.Text1=Adodc1.Recordset.Fields("姓名")
Form6.Text2=Adodc1.Recordset.Fields("学号")
Form6.Text3=Adodc1.Recordset.Fields("累计跑步次数")
Form6.Text4=Adodc1.Recordset.Fields("学分")
主要界面截图
图1系统开始界面
图2教师登录界面
图3教师编辑界面
图4学生签到界面
图5学生查询界面
图6显示详细查询结果界面
总结
Vb是一门既有趣又非常有用的课程,说难也不难,但是也不简单,只要会很好的应用,便会觉得编程过程也并不感觉枯燥,当程序编完且运行成功之后,便觉得非常有成就感,虽然有时也会被一时解决不了的问题弄的焦头烂额,但在解决的过程中逐渐的、更深的掌握这门课程的知识,所以,这一周的vb课程设计实习的收获是非常的大的,甚至还有一点觉得实习的时间有点短。
在编程过程中,一些程序并不算是完美,甚至会出现一些错误。
但我并不放弃,进行调试,修改,实在找不出具体错误就问老师,问同学,直到把这些错误解决了,这样不但加深了我对vb的理解,同时以后也不会再犯同样的错误。
总之,我感觉这一周的课程设计非常有意义,对我们理解计算机编程有非常大的帮助!
完整的源程序
Form1code:
PrivateSubcd1_Click()
Form1.Hide'显示教师登录窗口
Form5.Show
EndSub
PrivateSubCommand2_Click()
Form3.Show'显示学生输入学号界面
EndSub
PrivateSubCommand3_Click()
Form4.Show'显示学生输入学号界面
EndSub
PrivateSubCommand5_Click()
Dimi%'退出
i=MsgBox("是否确定退出?
",1+vbQuestion,"提示")
Ifi=1Then
End
Else
Form1.Show
EndIf
EndSub
PrivateSubForm_Load()
Image1.Stretch=True'添加窗体背景
Image1.Picture=LoadPicture("CLOUDS.bmp")
EndSub
Form2code:
PrivateSubCommand1_Click()
Adodc1.Recordset.MoveFirst'移动到第一条记录
EndSub
PrivateSubCommand2_Click()
Adodc1.Recordset.MovePrevious'移动到上一条记录
IfAdodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirst
EndSub
PrivateSubCommand3_Click()
Adodc1.Recordset.MoveNext'移动到下一条记录
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndSub
PrivateSubCommand4_Click()
Adodc1.Recordset.MoveLast'移动到最后一条记录
EndSub
PrivateSubCommand5_Click()
Adodc1.Recordset.AddNew'添加一条新纪录
EndSub
PrivateSubCommand6_Click()
Dimask%'删除一条记录
ask=MsgBox("确认删除?
",vbYesNo)
Ifask=6Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
EndSub
PrivateSubCommand7_Click()
Adodc1.Recordset.Update'更新
EndSub
PrivateSubCommand8_Click()
Adodc1.Recordset.CancelUpdate'取消更新
EndSub
PrivateSubCommand9_Click()
Dimcz$'查找一条记录
cz=InputBox("请输入学号","查找窗")
Adodc1.Recordset.Find"学号='"&cz&"'",,,1
IfAdodc1.Recordset.EOFThenMsgBox"无此学号!
",,"提示"
EndSub
PrivateSubCommand10_Click()
UnloadMe'退出编辑窗口
Form1.Show
EndSub
Form3code:
PrivateSubCommand1_Click()
Adodc1.Recordset.Find"学号='"&Text1.Text&"'"'用find方法查找text1显示的学号的信息
IfAdodc1.Recordset.EOFThen
MsgBox"无此学号",,"提示"
Text1.Text=""
Text1.SetFocus
Else
Adodc1.Recordset.Fields("累计跑步次数")=Adodc1.Recordset.Fields("累计跑步次数")+1
Adodc1.Recordset.Update
IfAdodc1.Recordset.Fields("累计跑步次数")>=20Then
Adodc1.Recordset.Fields("学分")=0.5
Adodc1.Recordset.Update
EndIf
EndIf
MsgBox("完成签到")
Text1.Text=""
Text1.SetFocus
EndSub
PrivateSubCommand2_Click()
UnloadMe'取消
Form1.Show
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnThenCallCommand1_Click'点击确定键签到
EndSub
Form4code:
PrivateSubCommand1_Click()
Adodc1.Recordset.Find"学号='"&Text1.Text&"'"'查询
IfAdodc1.Recordset.EOFThen
MsgBox"无此学号",,"提示"
Text1.Text=""
Text1.SetFocus
Else
Form4.Hide
Form6.Show
Form6.Text1=Adodc1.Recordset.Fields("姓名")
Form6.Text2=Adodc1.Recordset.Fields("学号")
Form6.Text3=Adodc1.Recordset.Fields("累计跑步次数")
Form6.Text4=Adodc1.Recordset.Fields("学分")
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe'取消
Form1.Show
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnThenCallCommand1_Click'确定键查询
EndSub
Form5code:
PrivateSubCommand1_Click()
Dimi%
IfText1.Text<>"10000"Then'教师登录界面
i=MsgBox("密码错误",5+vbExclamation,"警告")
Ifi<>4Then
End
Else
Text1=""
Text1.SetFocus
EndIf
Else
Form5.Hide
Form2.Show
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe'取消
Form1.Show
EndSub
PrivateSubForm_Load()
Text1=""
Text1.MaxLength=5'密码长度为5
Text1.PasswordChar="*"'显示密码文本为“*”
EndSub
Form6code:
PrivateSubCommand1_Click()
UnloadMe
Form4.Text1=""
Form4.Show
Form4.Text1.SetFocus
EndSub
参考文献
[1]刘瑞新.《VisualBasic程序设计教程》.北京:
高等教育出版社,2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB课程设计报告 18 VB 课程设计 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)