公交线路查询的课程设计Word文件下载.docx
- 文档编号:17783642
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:30
- 大小:2.50MB
公交线路查询的课程设计Word文件下载.docx
《公交线路查询的课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《公交线路查询的课程设计Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。
VisualBasic为用户设计界面、编写代码、调试程序、编译程序、制作应用程序安装盘等提供了友好的集成开发环境。
(2)可视化的设计平台:
在VisualBasic中,采用面向对象程序设计方法(Object-OrientedProgramming),把程序和数据封装起来作为一个对象,每个对象都是可视的。
(3)事件驱动的编程机制:
VisualBasic事件驱动的编程是针对用户触发某个对象的相关事件进行编码,每个事件都可以驱动一段程序的运行。
开发人员只要编写响应用户动作的代码。
这样的应用程序代码精简,比较容易编写与维护。
(4)结构化的程序设计语言:
VisualBasic具有丰富的数据类型和众多的内部函数。
其采用模块化和结构化程序设计语言,结构清晰,语法简单,容易学习。
(5)强大的数据库功能:
VisualBasic利用数据控件可以访问Access、FoxPro等多种数据库系统,也可以访问Excel、Lotus等多种电子表格。
(6)网络功能:
VisualBasic提供的DHTML(动态HTML)设计工具可以使开发者动态地创建和编辑Web页面,使用户能开发出多功能的网络应用软件。
系统开发工具:
确定操作系统后,选择开发工具,经过综合比较选择可视化程序语言VisualBasic。
VisualBasic(简称VB)是Microsoft公司于1191年推出的Windows应用程序开发工具,采用可视化、面向对象以及事件驱动的程序设计模式,具有强大的数据库编程能力,利用VB的数据控件和数据库管理器等工具,可直接建立或处理MicrosoftAccess格式的数据库,还可直接编辑和访问其他外部数据库,同时还提供开放式数据库访问(ODBC)功能,可通过直接访问或者建立连接的方式使用并操作远程服务器上的关系型数据库,如SQLServer、Oracle等。
因此,VB成为目前最便捷、最有效率的开发工具之一。
数据库选用Microsoft公司的Access产品作为数据库应用程序。
是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;
提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;
为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
它是一种关系型数据库管理系统,具有存储方式单一、面向对象、界面友好、易操作、集成环境、处理多种数据信息的特点,Access还支持ODBC(开发数据库互连,OpenDataBaseonnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
系统功能模块:
公交查询系统的应用背景为:
方便市民搭乘公交车出行;
实时查询公交信息、及时更新查询数据。
因此,该系统主要功能划分模块如下:
(1)查询系统模块。
该模块实现公交查询功能。
可实现按线路和站点两种查询方式。
(2)数据录入、更新模块。
更新:
系统允许管理员级别的用户对数据进行录入、修改且存盘操作;
编辑:
系统允许管理员级别的用户对数据进行编辑、删除的操作,保证现库的真实性与实时性。
(3)打印输出。
系统可以将用户查询到的内容动态地生成报表,并打印输出。
4系统实现原理
(1)Access数据库的数据格式?
Access数据表中数据格式为文本类型因为表中的数据为各个线路的站点,保存的数据库类型为.mdb格式,本过程应在Access2003环境下下进行操作,因为在中数据库是Access2003的,所引用的MicrosoftJet引擎只能识别Access2003或之前版本格式的文件。
(2)VB如何与Access数据库文件实现联结?
VB连接ACCESS数据库可以通过控件,也可以通过引用来连接数据库。
如果是控件的话有Data、Adodc控件等。
如果是引用的话在“工程”“引用”中MicrosoftActiveDataObjectsLibrary。
现在一般都是使用引用来连接数据库。
MicrosoftJetandReplicationObjectsLibrary
MicrosoftActiveDataObjectsLibrary
‘通用
DimcnAs'
定义一个数据库连接对象
DimrsAs'
声明数据集
DimstrAsString'
定义str为字符串型
'
建立与数据库的连接
str="
Provider=SecurityInfo=false;
DataSource="
&
"
\"
str;
‘函数引
来调用46数据表
Setcn=New'
创建一个cn作为数据库连接
str'
数据库连接对象cn执行str函数的语句
(3)数据库查询的思路
(1)首先确定使用何种数据库,如选ACCESS数据库。
(2)新建ACCESS数据库。
(3)新建各数据表。
确定每个数据表的字段及数据类型。
各数据表应有关键字段。
(4)在VB中使用ADO数据对象或控件连接数据库,构思VB的运行界面。
(5)灵活使用SQL结构化查询语句操纵数据库。
5系统实现
青岛市公交数据库建立:
青岛古称胶澳,位于山东半岛的南部,濒临黄海,是我国重要的海滨城市之一,也是我国著名的风景旅游胜地和国家历史文化名城。
青岛的公交非常方便,四通八达、无人售票。
崭新的公交车内车外都很干净。
普通公交车单一票价1元,空调车单一票价2元。
公交26、201、202路车是沿着海边走,途径栈桥、八大关等很多景点,起点是轮渡或火车站。
这里需要特别注意的是26路公交车能到达青岛的大多数景点,比如:
中山公园、海军博物馆、青岛海底世界、康有为故居、花石楼、湛山寺、迎宾馆等。
到青岛旅游最方便、舒适的方法莫过于乘空调旅游专线。
三条旅游专线所配车辆均为高级豪华空调旅游中巴(28座厦门金龙)。
全程配备专业导游服务。
去崂山(太清景区)可乘304路,从轮渡、火车站(栈桥)一直到崂山,全程都贴着海边走。
当然你也可以参加崂山一日游,各宾馆均有代办,大多数旅游团都只去太清景区。
由于青岛市是一个交通发达,设施齐全的旅游城市,所以赋予了青岛市公交路线是四纵八达的,而在这里我就随便在其众多的公交路线选取20条公交路线来建立该市公交线路数据,见图1所示。
图1青岛市公交线路表
程序主界面模块:
系统登录界面:
本着界面友好、易操作等元素及具有青岛市公交车的代表性,还有本界面设有在等待一会儿后会自动跳到查询系统模块和设有“欢迎您进入青岛市公交线路查询系统”的滚动字幕等特点。
因此本系统登陆界面如图2所示。
图2系统登录界面
查询系统模块:
为了方便市民搭乘公交车出行,本模块本着服务于市民,该查询系统为青岛市民提供更方便、更快捷的服务原则。
因此本查询系统模块如图3所示,该模块分为五部分:
(1)全部线路查询,点击显示按钮可以显示全部的公交线路,见图4所示;
(2)线路查询,在下拉菜单中选择要查询的公交线路名称点击查询就可以查询该线路经过的所有公交站点,见图5所示;
(3)经过公交站点名称查询,在下拉菜单中选择要经过的公交站点名称,点击查询就可以查询经过该站点的所有公交线路,见图6所示;
(4)起点、终点查询,选择起点、终点站名称点击确定就会跳出经过这两个站点的所有公交线路,如果没有直达线路,则会提示“没有直达线路”,见图7所示;
(5)生成报表功能,点击此按钮就会自动输出所有公交线路的excel表格,见图8所示。
总而言之,本查询系统操作简单,适合广大群众使用。
图3查询系统界面
(1)点击显示全部线路查询,可显示查询结果,如图4所示:
图4查询结果显示界面
(2)在线路查询中,在下拉菜单中选择要查询的公交线路名称点击查询,经过所有公交站点结果如图5所示。
图5显示线路查询结果界面
(3)在站点查询中,在下拉菜单中选择要经过的公交站点名称,点击查询就可以查询经过该站点的所有公交线路,结果如图6所示。
图6显示站点查询结果界面
(4)在起点、终点查询中,选择起点、终点站名称点击确定就会跳出经过这两个站点的所有公交线路,如果没有直达线路,则会提示“没有直达线路”,其结果如图7所示。
图7显示起点、终点结果界面
(5)生成报表功能,点击此按钮就会自动输出所有公交线路的Excel表格,最后会提醒“恭喜!
Excel生成完毕”,如图8所示。
图8显示Excel结果界面
数据录入、更新:
设计窗体及程序,完成数据输入、显示、保存和删除公交数据表中的记录数据。
各功能界面如下:
因为没有设计数据输入、保存和删除公交数据表中记录数据的程序,所以没办法显示它们各功能界面;
还有显示公交数据表中的记录数据功能界面和上面查询系统模块中的各功能界面一样,在这里就不在重复了。
打印输出:
设计窗体及相应程序,完成报表显示(要求调用Excel报表)和打印功能。
用Excel报表显示界面如图9、图10所示。
图9Excel报表显示界面
图10显示Excel结果界面
程序代码:
系统登陆界面代码
系统登录界面程序(包括滚动字幕、登陆界面进入查询界面等):
DimcnAs
DimrsAs
DimsSqlAsString
Dimaa()AsString
PrivateSubForm_Load()
delaytime=0
=True
EndSub
PrivateSubLabel1_Click()
=0
PrivateSubTimer1_Timer()
If<
Then
=-25
Else
=0
EndIf
PrivateSubTimer2_Timer()
Ifdelaytime>
=25Then
=False
UnloadForm2
LoadForm1
Else
delaytime=delaytime+1
Form_Load代码
进入查询界面后用于显示所有栅格的表头和所有Combo下拉菜单的值,程序如下:
PrivateSubForm_Load()
DimjAsInteger
DimstrAsString
'
对MSFGrid进行设置
WithMSFlexGrid2
.TextMatrix(0,0)="
编号"
.TextMatrix(0,1)="
线路名称"
Forj=2To50
.TextMatrix(0,j)="
站点"
CStr(j-1)
Next
EndWith
str="
Provider=Info=false;
\46_朱智强.mdb"
Setcn=New
str
赋值
sSql="
selectnumberfrom46_朱智强orderbynumber"
Setrs=New
sSql,cn,adOpenKeyset,adLockReadOnly
=Trim("
number"
).Value)
WhileNot
(Trim("
).Value))
Wend
赋值--从aa数组中读取相应站名
sSql="
select*from46_朱智强"
Setrs=New
sSql,cn,adOpenKeyset,adLockReadOnly
IfThen
MsgBox"
没有找到数据"
12,"
系统提示"
ExitSub
EndIf
ReDimaa-1,51)'
以下开始读取数据
i=0
WhileNot
Forj=1To(j-1)<
>
Null"
aa(i,j-1)=(j-1).Value
i=i+1
Wend
Dimab()AsString
ReDimab(UBound(aa,1),UBound(aa,2)-3)
Fori=0ToUBound(aa,1)'
线路总数
Forj=2ToUBound(aa,2)-1'
对应站点总数
ab(i,j-2)=aa(i,j)
Nextj
Nexti
=ab(0,0)
Fori=0ToUBound(ab,1)'
Forj=0ToUBound(ab,2)'
'
ab(i,j)
Ifab(i,j)<
"
Fork=0To-1
If(k)=ab(i,j)Then
ExitFor
EndIf
Nextk
Ifk>
=Then
EndIf
Nextj
Nexti
ReDimaa-1,51)
i=0
aa(i,j-1)=(j-1).Value
Next
Wend
ReDimab(UBound(aa,1),
UBound(aa,2)-3)
Forj=2ToUBound(aa,2)-1'
Nexti
Fori=0ToUBound(ab,1)'
Forj=0ToUBound(ab,2)'
Ifab(i,j)<
Fork=0To-1
If(k)=ab(i,j)Then
ExitFor
EndIf
=Thenab(i,j)
EndIf
IfThen
MsgBox"
ExitSub
Forj=1ToIf(j-1)<
Then
aa(i,j-1)=(j-1).Value
Next
i=i+1
ReDimab(UBound(aa,1),
Forj=2ToUBound(aa,2)-1'
ab(i,j-2)=aa(i,j)
Nextj
Nexti
Fori=0ToUBound(ab,1)'
Forj=0ToUBound(ab,2)'
'
Fork=0To-1
If(k)=ab(i,j)Then
ExitFor
Nextk
Ifk>
ab(i,j)
ReDimab(UBound(aa,1),UBound(aa,2)-2)
Fori=0ToUBound(aa,1)'
Ifab(i,j)<
Fork=0To-1
If(k)=ab(i,j)Then
Ifk>
=Then
公交线路查询代码
在查询界面中的全部线路查询模块中点击显示,则显示所有公交线路程序如下:
PrivateSubCommand10_Click()
DimiAsInteger
访问数据库和数据表
IfThen
MsgBox"
ExitSub
ReDimaa-1,51)
WhileNot
Forj=1To(j-1)<
以下在MSFGrid显示数据
.Rows=i+1
Fori=0ToUBound(aa,1)
.Row=i+1
Forj=0To50
.TextMatrix(.Row,j)=aa(i,j)
Next
线路查询代码
在线路查询模块,用于查询所输入的线路的所有公交站点,程序如下:
PrivateSubCommand4_Click()
清空内容
WithMSFlexGrid2
ForP=0To45
ForQ=1To20
.TextMatrix(Q,P)="
EndWith
select*from46_朱智强wherenumber='
++"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公交线路 查询 课程设计