VB与数据库应用课程设计.docx
《VB与数据库应用课程设计.docx》由会员分享,可在线阅读,更多相关《VB与数据库应用课程设计.docx(21页珍藏版)》请在冰点文库上搜索。
VB与数据库应用课程设计
VB与数据库应用课程设计
中国旅游景点查询系统设计与实现
学院
专业
学生
学号
指导教师
二○一八年六月
课程设计任务书
一、课程名称:
VB与数据库应用课程设计
二、课程设计题目:
中国旅游景点查询系统设计与实现
三、课程设计工作自2015年6月15日至2015年6月26日止
四、课程设计的内容及要求
1.强化VisualBasic6.0程序设计和数据库应用的基础知识,比较熟练应用软件开发工具设计简单数据库应用系统,掌握数据库应用系统的分析、设计、编码和调试的基本方法和过程。
2.掌握Access数据库和数据表的创建和应用。
3.具体内容
(1)创建数据库和表
密码表(用户名,密码)
中国旅游景点查询系统设计(编号、省份、直辖市、景点级别等等)
(2)系统主要功能
结合题目和实际需求,完成相应数据信息的编辑(添加、修改、删除)、浏览、查询、统计和系统维护(密码设置)等功能。
(3)窗口设计
系统登录表单设计、系统菜单设计、数据编辑、浏览表单设计、数据查询表单设计、密码设置、系统初始化和数据备份/恢复等。
(4)系统主菜单设计(结合系统功能)。
系统界面友好、设计合理、操作简单。
4.要求:
课设结束后,上交软件系统和课程设计说明书。
课程设计说明书(报告)的主要内容:
系统分析、系统设计、详细设计;参考书、课设总结。
指导教师:
学生签名:
3系统详情设置
3.1系统登录界面设计3
1系统分析
1.1系统的开发背景
旅游业在国民经济发展中的作用日益受到重视,产业定位日趋清晰从上世纪50年代初期至1978年以前的二十多年间,我国的旅游工作一直属于民间友好往来的范畴,是我国对外交往的一条重要渠道。
所以制作一个旅游信息管理系统尤为重要,方便大众。
1.2系统需求分析
该系统是使用VisualBasic6.0作为开发平台,基于MDI窗体以及Access2010数据库进行开发的,力求与中国旅游景点查询系统的实际工作相结合,具有编辑、查询、统计、打印等功能,旨在达到使管理工作趋于科学化、规范化和自动化,提高工作效率。
2系统设计
2.1系统功能
根据中国旅游景点查询系统存在的问题和实际需求,该系统主要包括以下几大功能模块:
1)信息编辑:
对旅游信息的添加、修改、删除和浏览功能等;
2)信息查询:
根据需要进行单项查询或组合查询等功能;
3)数据统计:
根据需要进行统计和图表分析等功能;
4)信息打印:
根据需要进行打印等功能;
5)系统维护:
系统初始化、系统注册、操作员密码设置和系统数据备份与恢复功能。
2.2系统功能结构图
根据系统开发对象的实际情况和需求,本系统包含六大功能模块。
系统功能结构如图2-1所示。
图2-1系统功能结构图
2.3系统实现的目标
针对中国旅游景点查询系统的实际需求,本系统实施后,应该达到以下预期目标:
❑系统运行稳定,安全可靠。
❑界面设计美观,人机交互界面友好。
❑信息查询灵活、方便、快捷、准确,数据存储安全可靠。
❑采用多种方式查询数据。
❑操作员可以随时修改自己的口令。
❑对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
2.4系统开发及运行环境
系统开发平台:
VisualBasic6.0
数据库:
MicrosoftOfficeAccess2010
运行平台:
Windows7
2.5数据库设计
根据中国旅游景点查询系统实际需求,本系统采用Access2010设计数据库,需要建立系统注册登录和记录旅游景点等信息的数据表。
数据库名称:
中国旅游景点查询系统设计
数据表名称:
密码表、中国旅游景点查询系统设计1
1)密码表:
用来存储操作员登录信息的表,见表2-1。
2)中国旅游景点查询系统设计1:
记录旅游景点信息见表2-2。
表2-1密码表
字段名称
数据类型
说明
用户名
文本
操作员名称
密码
文本
密码
表2-2旅游景点信息
字段名称
数据类型
说明
编号
文本
编号
省份
文本
省份
直辖市
文本
直辖市
景点级别
文本
景点级别
景点名称
文本
景点名称
票价
文本
票价
游客评价
文本
游客评价
附近酒店
文本
附近酒店
分类归属
文本
分类归属
占地面积
文本
占地面积
开放时间
文本
开放时间
电话
文本
电话
3系统详细设计
中国旅游景点查询系统的详细设计就是将前期的理论分析实践化的过程,这是管理系统开发过程中的难点和重点,包括管理系统的窗体界面设计和程序代码设计。
3.1系统登录界面设计
用户进入系统前必须通过系统登录,验证用户是否具有使用系统的权限,只有使用权限的用户才能登录系统。
系统登录界面如图3-1所示。
图3-1系统登录界面
事件过程代码:
PrivateSubCommand1_Click()
DimMPasswordAsString
Adodc1.RecordSource="select*from密码表where用户名='"&Text1.Text&"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
MPassword=Adodc1.Recordset.Fields("密码")
IfText2.Text=MPasswordThen
Name1=Text1.Text
Form2.Show
UnloadMe
Else
MsgBox"密码不正确,请您确认后重新输入",,"提示信息"
Text2.Text=""
Text2.SetFocus
EndIf
Else
MsgBox"对不起没有此用户的信息",,"提示信息"
Text1.Text=""
Text2.Text=""
EndIf
EndSub
PrivateSubForm_Load()
'Adodc1.RecordSource="select*from密码表"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
ListView1.Enabled=True
ListView1.ListItems.Clear
i=1
Adodc1.Recordset.MoveFirst
DoWhileAdodc1.Recordset.EOF=False
Key=Adodc1.Recordset.Fields("用户名")
SetitmX=ListView1.ListItems.add(,,Key,i)
i=i+1
Adodc1.Recordset.MoveNext
Loop
Else
ListView1.Enabled=False
EndIf
EndSub
PrivateSubListView1_Click()
Text1.Text=ListView1.SelectedItem
'Adodc1.Refresh
Text2.SetFocus
EndSub
3.2系统主界面(菜单)设计
系统主界面集成了系统提供的所有功能服务,其主界面窗口如图3-2所示。
图3-2系统主界面
3.3旅游景点信息编辑浏览界面设计
信息编辑浏览窗口提供了信息的浏览、编辑和查询等功能。
编辑浏览功能界面如图3-3所示。
图3-3编辑浏览界面
事件过程代码:
PrivateSubCommand1_Click(IndexAsInteger)
SelectCaseIndex
Case0
Adodc1.Recordset.MoveFirst'第一条
Case1
Adodc1.Recordset.MovePrevious'上一条
IfAdodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirst
Case2
Adodc1.Recordset.MoveNext'下一条
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
Case3
Adodc1.Recordset.MoveLast'最后一条
Case4
DimmnoAsString
xm=InputBox("请输入姓名","查找窗")
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find"姓名='"&xm&"'",,,1
IfAdodc1.Recordset.EOFThenMsgBox"无此记录!
",,"提示"
EndSelect
EndSub
PrivateSubCommand2_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
Case3
Adodc1.Recordset.CancelUpdate
Case4
Unloadme
EndSelect
EndSub
3.4旅游景点单项查询界面设计
旅游景点单项查询界面如图3-4所示。
图3-4旅游景点查询界面
事件过程代码:
PrivateSubCommand1_Click()
kcbh=Combo1.Text
Adodc1.RecordSource="select*from中国旅游查询系统where游客评价='"&kcbh&"'"
Adodc1.Refresh
EndSub
3.5旅游景点组合查询界面设计
组合查询可以实现所提供查询选项中的任意组合查询。
居民信息组合查询功能界面如图3-5所示。
图3-5旅游景点组合查询界面
事件过程代码:
PrivateSubCommand1_Click()
strsql="select*from中国旅游景点查询where"
n=0
IfCheck1.Value=CheckedThen
strsql=strsql+"景点='"+Combo1+"'"
Adodc1.RecordSource=strsql
n=1
EndIf
IfCheck2.Value=CheckedThen
Ifn=1Then
strsql=strsql+"and"
EndIf
strsql=strsql+"省份='"+Combo2+"'"
Adodc1.RecordSource=strsql
n=1
EndIf
PrivateSubCommand2_Click()
Unloadme
EndSub
3.6旅游景点统计界面设计
统计界面以表格和图形(直方图或圆饼图)的形式提供统计分析数据。
旅游景点信息统计功能界面如图3-6所示。
图3-6省份统计功能界面
事件过程代码:
PrivateSubCommand1_Click()
Adodc1.RecordSource="select省份,count(*)as数量from数据库groupby省份"
Adodc1.Refresh
EndSub
PrivateSubCommand2_Click()
Adodc1.RecordSource="select景点级别,count(*)as数量from数据库groupby景点级别"
Adodc1.Refresh
EndSub
PrivateSubCommand3_Click()
Adodc1.RecordSource="select分类归属,count(*)as数量from数据库groupby分类归属"
Adodc1.Refresh
EndSub
PrivateSubCommand4_Click()
Adodc1.RecordSource="select游客评价,count(*)as数量from数据库groupby游客评价"
Adodc1.Refresh
EndSub
PrivateSubCommand5_Click()
Form2.Show
Form10.Hide
EndSub
PrivateSubList1_Click()
EndSub
PrivateSubCommand6_Click()
Form2.Show
Form10.Hide
EndSub
3.7系统初始化功能界面设计
系统初始化功能界面如图3-7所示。
图3-7系统初始化功能界面
事件过程代码:
PrivateSubCommand1_Click()
MsgBox"系统初始化成功",,"提示"
EndSub
PrivateSubCommand2_Click()
Form2.Show
Form12.Hide
EndSub
3.8数据备份/恢复功能界面设计
数据备份/恢复提供将系统数据备份到其他磁盘或将系统在其他磁盘上的备份数据恢复到系统中的功能。
数据备份与恢复功能界面如图3-8所示。
图3-8数据备份与恢复功能界面
事件过程代码:
PrivateSubCommand1_Click()
MsgBox"系统备份成功",,"提示"
EndSub
PrivateSubCommand2_Click()
Form2.Show
Form13.Hide
EndSub
3.9密码修改功能界面设计
密码修改功能界面如图3-9所示。
图3-9密码修改功能界面
事件过程代码:
PrivateSubCommand1_Click()
Adodc1.Recordset.Fields
(2)=Text3
Adodc1.Recordset.Update
MsgBox"更改成功",,"提示信息"
EndSub
PrivateSubCommand2_Click()
Text1=""
EndSub
PrivateSubCommand3_Click()
Form2.Show
Form9.Hide
EndSub
PrivateSubForm_Load()
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
ListView1.Enabled=True
ListView1.ListItems.Clear
i=1
Adodc1.Recordset.MoveFirst
DoWhileAdodc1.Recordset.EOF=False
Key=Adodc1.Recordset.Fields("用户名")
SetitmX=ListView1.ListItems.Add(,,Key,i)
i=i+1
Adodc1.Recordset.MoveNext
Loop
Else
ListView1.Enabled=False
EndIf
EndSub
PrivateSubLabel3_Click()
Text2.PasswordChar="*"
EndSub
PrivateSubListView1_Click()
Text1=ListView1.SelectedItem
Text2.SetFocus
EndSub
PrivateSubText2_LostFocus()
DimMPasswordAsString
Adodc1.RecordSource="select*from密码表where用户名='"&Text1.Text&"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
MPassword=Adodc1.Recordset.Fields("密码")
IfText2.Text=MPasswordThen
Text3.SetFocus
Else
MsgBox"密码不正确,请您确认后重新输入",,"提示信息"
Text2.Text=""
Text2.SetFocus
EndIf
Else
MsgBox"对不起没有此用户的信息",,"提示信息"
Text1.Text=""
Text2.Text=""
EndIf
EndSub
3.10关于系统功能界面设计
关于系统功能界面如图3-10所示。
图3-10关于系统功能界面
4系统测试
本系统采取的测试方法是先进行各模块测试,经过修改和调整通过后,进行总体测试,测试结果及各项功能均已基本达到设计要求。
1.代码测试
在系统具体实现时进行代码测试,在各个模块编写时就开始测试,有利于尽早的发现问题,以减少集成测试时出现错误的机率以及修改源程序的难度。
(1)使用合法数据进行测试
提交数据时输入符合要求的数据,检验运行结果,确保系统可接收正常数据,能够正常运行。
(2)使用不合法数据进行调试
在提交时输入一些不符合要求的数据,如在时间的地方输入不是时间型的数据,在数字输入的地方输入非数字数据等等,进行结果调试,确保系统有识别非法数据的能力,同时能够予以拒绝并给出提示。
2.结构功能测试
经过代码测试确定程序在逻辑上符合要求,并不能验证是否符合具体功能,即是否能够使数据前后一体化,模块间的数据操作统一化,所以还要进行功能测试。
(1)模块测试
本系统由多个功能模块组成,每一个模块由多个程序组成。
这一个阶段的测试由自己独立完成,把各个程序串联起来,经过测试修改,实现各模块之间的连接,并且可以使数据前后操作一致。
(2)确认测试
这一阶段主要是针对系统的功能、特性及稳定性和适用性进行进一步的测试。
该阶段主要是用户进行。
由他们确定该系统哪些功能需要修改,哪些数据需要增加备份以及在管理中的适用情况。
针对使用意见,再次完善系统功能并做最终测试。
附录A参考文献
1.新编VisualBasic程序设计案例教程清华大学出版社王晓斌等2013年8月
2.VisualBasic程序设计教程高等教育出版社龚沛曾等2004年5月
课程设计总结
这两周的VB课设虽早已过去,但它却给我留下了深刻的记忆,在这两周的课设期间,他不仅教会了我如何去设计一个系统软件,最重要的是他教会我如何去思考,如何去扩展,同时他也给了我创新的灵感,让我感悟到如何根据实际问题灵活运用我们已掌握的知识。
总之,这两周的课设教会了我很多实用的东西,我会好好的珍惜这两周学到的东西。