基于web的城市公交查询系统设计与实现.pdf

上传人:l*** 文档编号:72500682 上传时间:2023-02-11 格式:PDF 页数:31 大小:1.69MB
返回 下载 相关 举报
基于web的城市公交查询系统设计与实现.pdf_第1页
第1页 / 共31页
基于web的城市公交查询系统设计与实现.pdf_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《基于web的城市公交查询系统设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于web的城市公交查询系统设计与实现.pdf(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-毕 业 设 计 说 明 书学学生生姓姓名名学学院院学学号号专专业业题题目目计算机科学与技术(软件工程)基于 we的城市公交查询系统设计与实现指指导导教教师师讲师/硕士(姓名)(专业技术职称/学位)2013年5月-毕业论文独创性声明本人郑重声明:本论文是我个人在导师指导下进行的研究工作及取得的研究成果。本论文除引文外所有实验、数据和有关材料均是真实的。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。其他同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。作者签名:日期:-摘摘 要要:随着信息化时代的推进,各个行业都在采用信息化的管理方式

2、.城市公交的查询也可以依托计算机技术,来更好的为乘客提供信息服务,提高工作效率,降低乘客出行成本。如此才能提高公交在各出行方式中的竞争力。本设计是以icrosoftSQeer 205作为后台数据库开发,以Visa Sudio 2008 作为开发平台,开发的基于P.N的城市公交查询系统。该系统主要包括以下功能模块:乘客前台查询和管理员后台管理。前台查询包括换乘查询、线路查询、站点查询、评价统计,后台管理模块则通过管理员登录后分别实现对站点、线路的添加、删除、修改.本论文详细介绍了各模块的设计与实现。关键词关键词:公交,SP.NET,查询,数据库-A Astractstract:With thea

3、dvancemt of h nfomatn ag,ll induriesin iormatio anaement。Urba publc ransportueries canrly ocomute tecolg,topovidepasegers with abetter service,mprveefinc,reuce th cost o passrtravel.h desgn is baed oMicrsoftSQL Seve25 as teback-endatabae evelpmen a deelopmn pltfom,VisualStdio 208,he dvlomn of urbanu

4、ictrsptqueysysem asdon ASP。EThesstem nudes th folowngfunctinl bloc:Paseng fnt nddminitrtors Adin.The font dequery nes:anser Inquiy in inquiy,st or euain ofthe statiis,the bckgroud mnagemenme adeto the site,ine y the aministrao lgin,dlete,oify.hispaerintrdethdesign and impetainof ea mdl。K Korors s:BU

5、S,ASP.NET,Iquir,atbase-目目录录1前言 错误错误!未定义书签。未定义书签。课题背景 错误错误!未定义书签。未定义书签。2系统的开发工具与环境 错误错误!未定义书签。未定义书签。21ASP。NET 简介.错错误误!未定义书签。未定义书签。2.2系统的开发要求.错错误误!未定义书签。未定义书签。3需求分析.错错误误!未定义书签。未定义书签。3.功能需求分析 错误错误!未定义书签。未定义书签。4设计准备.错错误误!未定义书签。未定义书签。4。1功能模块划分 错误错误!未定义书签。未定义书签。4数据库设计.错错误误!未定义书签。未定义书签。421数据库概念结构设计 错误错误!未定

6、义书签。未定义书签。4。2数据库逻辑结构设计 错误错误!未定义书签。未定义书签。5详细设计与实现.错错误误!未定义书签。未定义书签。5。关于数据库操作 错误错误!未定义书签。未定义书签。.2功能实现.错错误误!未定义书签。未定义书签。2.1主界面 错误错误!未定义书签。未定义书签。2。1站点查询.错错误误!未定义书签。未定义书签。5.2。2线路查询 错误错误!未定义书签。未定义书签。52.3换乘查询 错误错误!未定义书签。未定义书签。53后台管理.错错误误!未定义书签。未定义书签。5。3管理员登录.185。2添加、修改、删除站点.错错误误!未定义书签。未定义书签。3。3添加、修改、删除车次 错

7、误错误!未定义书签。未定义书签。5。评价管理.错错误误!未定义书签。未定义书签。6测试.错错误误!未定义书签。未定义书签。61开发过程遇到问题.错错误误!未定义书签。未定义书签。6.2进一步研究工作.错错误误!未定义书签。未定义书签。结束语.错错误误!未定义书签。未定义书签。参考文献 错误错误!未定义书签。未定义书签。致谢.28 前言前言1 1。课题背景课题背景交通是每个城市发展的标志,便捷通达的交通系统能合理有效的改善交通拥塞、能源-紧张、噪声干扰、废气污染等一系列问题,推动城市的建设与进步。当下城际轻轨、地铁最快捷便利,但是运营成本过高,只能在一些发达城市运行,老牌公交车则经久不衰,以其低

8、成本高亲民度,健硕存在于各个级别的城市,服务着广大群众。为了更好的了解城市的公交运行系统,方便人们的出行,开发了本系统.该系统,有利于公交公司随时将公交最新信息发布到网上,乘客能够无门槛登录该系统查询公交信息.系统分为前台和后台,前台能够供登录系统的用户访问,后台由公交公司管理人员进行维护。该系统的核心功能为公交车信息的查询,查询分为站点换乘查询、公交站点查询、公交线路查询。站点换乘查询是用户输入起止站点名称,查询出如何乘车到达,要求能够查询出所有直达车次与二次换乘可到达的车次;公交站点查询是用户输入公交站点,查询出经过此站点的所有车次,并能够查看该车次详细信息;公交线路查询是用户输入指定车次

9、,查询出此车次的详细信息。2 2系统的开发工具与环境系统的开发工具与环境.1.1S SNETNET 简介简介APNET 是基于通用语言的编译运行的程序,它的强大性和适应性,可以使它运行在 We应用软件开发者的几乎全部的平台上。AS。NET 建立在 NT Framewok的编程类之上,它提供了一个 Wb 应用程序模型,并且包含使生成SP We 应用程序变得简单的控件集和结构。A.NET包含封装公共 HTM 用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在 We服务器上运行,并以HTML 的形式将它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 Web开发人员

10、提供了面向对象的编程的丰富性.ASP。NE还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可靠性。另外,APT 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用XML Web serve 功能,ASP.ET开发人员可以编写自己的业务逻辑并使用ASP NT结构通过 SAP交付该服务。isual udio 2008 是一套完整的开发工具,用于生成 AS We应用程序、Mebsrvices、桌面应用程序和移动应用程序。Visua Basic 208、Viual+。NE、Visual。ET 和 Visua J#.NET 全都使用相同的集成开发

11、环境(I),该环境允许它们共享工具并有助于创建混合语言解决方案.另外,这些语言利用了.NE Frmwr的功能,此框架提供对简化 SPWeb应用程序和 XML Weservice开发的关键技术的访问。-2 2。系统的开发要求系统的开发要求该公交查询系统对操作系统的要求如下:硬件要求:1CPU:最低 IntelPentiu II 500MHz2磁盘空间:2MB(完全安装),5MB(快速安装).3。内存:52MB(最好 1GB 以上).4。显示:102468,256 色.软件要求:.操作系统:ndws2000 以上的操作系统。2。开发平台:isual Stdio 0,Microsof QL Serv

12、e 205。3 3需求分析需求分析.1.1功能需求分析功能需求分析本公交查询系统以淮安作为背景城市,其余城市可参照修改同样适用。本系统不仅能给广大熟悉淮安路线的本地市民提供便利,更加能为其他来到淮安出差、旅游的朋友带来方便。开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理,提高服务质量,方便乘客查询.本系统采用结构化设计的方法以实现系统总体功能,即将整个系统划分为各个功能模块,正确处理模块之间和模块内部的联系以及和数据库的联系,通过对各模块的设计和模块之间关系的安排;来系统实现整个系统的功能。前台主要有个模块:换乘查询、线路查询、站点查询、评价统计,后台管理模块则通

13、过管理员登录后分别实现对站点、线路的添加、删除、修改。前台主要向用户提供换乘查询、车次查询、站点查询等查询方式,具体实现如下功能:1.换乘查询:输入起始站名与终点站名,系统会输出所有的公交路线方案;2.车次查询:输入已知的车次,系统会输出该车次经过的所有站点名;3.站点查询:输入已知的站点名,系统会输出经过该站点的所有车次。数据库会提供给用户全部的信息,用户可以根据自己的实际情况进行选择,另外,用户可以在系统左下角的评价栏投出自己宝贵的一票,系统将对结果进行统计分析,实现用户与公交公司的良好互动。-后台由管理员输入其指定账号与密码对数据库进行管理,实现站点的添加、删除、修改,线路的添加、删除、

14、修改。系统模块如图 31 所示:图 3-1 系统模块图4 4设计准备设计准备.1.1功能模块划分功能模块划分通过需求分析,可以确定该系统应完成的功能包括:1。前台功能:主要实现乘客对车辆信息的查询,包括站点间换乘查询、车次查询、站点查询;其次通过评价统计来实现乘客与公交公司的互动。2。后台功能:主要实现公交公司管理员对车辆信息的维护,包括线路信息的添加、删除、修改和站点信息的添加、删除、修改。数据库设计数据库设计通过需求分析,本系统在概要设计阶段得到五个数据实体:公交车次、公交站点、公交线路、管理员、评价。这些实体的属性均按照用户需求中的输入输出数据设定,故应该根据这五个实体设计五种类型的数据

15、库表:公交车次表、公交站点表、不同车次线路表、管理员表、评价统计表。4 4。2 2。数据库概念结构设计数据库概念结构设计所谓概念结构设计,就是将需求分析得到的用户需求抽象为信息结构.概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定,它是整个数据库的关键。-概念结构设计的特点:1能真实、充分地反映现实世界,是对现实世界的一个真实模型。2。易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成果的关键。3.易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。4易于向关系、网状、层次等各种数据模型转换。在系统设计的开始,首先应该

16、考虑如何用数据模型来描述数据库的结构和语义,以对现实世界进行抽象。“实体联系模型(ER 模型)独立于计算机系统用的较为广泛,本系统也充分应用了它。E-R 模型直接从现实世界抽象出实体类型及实体间联系,然后用 ER 图来表示数据模型。它更接近人都思维,容易理解;与计算机无关,用户更容易接受,但它只是数据库设计的第一步.R 图是直观表示概念模型的工具,它有三个基本成分:1.矩形框,表示实体类型(考虑问题的对象)。2。菱形框,表示联系类型(实体间的联系).3椭圆形框,表示实体的属性。该系统实体和属性的定义如下:管理员表 E图(登录 I,登录姓名,登录密码)图 4-1管理员表 E-图各站集合表R 图(

17、站名 ID,站名)图 4各站集合表 E-R 图各条线路表 E-R 图(站名 ID,次序,站名)-图3各条线路表图各条线路集表 E-R 图(车辆 ID,车次,始发站,末站,运行区间,线路描述,IC 卡类型,票价,首班车时间,服务类型,末班车时间)图 44各条线路集表-R 图评价表 E图(评价程度,票数)图-5评价表 ER 图4.2.24.2.2数据库逻辑结构设计数据库逻辑结构设计本系统采用 Micsft QL Sve 05 数据库管理系统,该系统不仅能满足最大的数据处理系统和商业 Web 站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。之所以使用 Miosoft S Sever

18、 205 就是因为它是一个企业级的集成商业智能的全面的数据库平台,Microsft SL Srer 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使设计者可以构建和管理用于业务的高可用和高性能的数据应用程序。-本系统创建的 SQL 数据库名称为城市公交查询系统,并将数据文件和日志文件保存在AP_DT文件夹中。此数据库包含 5 类表,分别是管理员表、各站集合表、各条线路表、各条线路集合表、评价表。(1)管理员表管理员表存放管理员登录系统所需要的用户名和密码,管理员登录后台时需要访问此表。表管理员表字段名dmnIdAdmnme数据类型intncha(3)长度32020是否

19、允许空否否否是否为主键是否否说明登录 ID登录姓名登录密码Adminasswrdnchar()(2)各站集合表各站点集合表存放所有站点名、编号及描述,此表中的站点是各条线路表中的站点的集合即所有线路中的站点。表 4各站集合表字段名SiteIDSiteNmeSitDescribe数据类型nt长度10是否允许空否否是是否为主键否否否说明站点 ID站点名站点描述car(1)10nhar(50)50(3)各条线路表各条线路表是存放各线路信息的表。表 43各条线路表字段名SteIdSiteameSiteDe becxunt否否线路中站点次序数据类型itchar(10)长度1010是否允许空否否是是否为主

20、键否否否说明站点 ID站名站点描述nha(50)50(4)各条线路集合表各条线路集合表是所有线路的集合表,存储了所有线路的 ID 和一些基本信息。-表 4-4各条线路集合表字段名ineIdinName数据类型inc(0)LinAreanePricLieStatPlacL ne PlaLineSt r TimeLiendTmLICLeDsibeitnca(80)580否是否否C 卡类型线路描述nchr(10)1否否末班车时间ncha(10)1否否早班车时间char(10)1否否末站nchar(10)nchar(10)ncha()10100否否否否否否线路区间票价始发站长度01是否允许空否否是否为

21、主键是否说明线路D线路名称()评价表评价表用于用户对本系统的评价统计,存储不同评价的票数,饼图统计时调用这张表。表5评价表字段名评价程度票数数据类型ncar(1)in长度10是否允许空否是是否为主键是否说明评价程度票数5 5详细设计与实现详细设计与实现5.15.1关于数据库操作关于数据库操作在动态网站中,调用数据库中的数据是十分频繁的,为了数据库的安全性,本程序将所有数据库的操作封装到 DBonect 类中并放于 DBConnc.cs 文件中。开发人员在实现其他功能时,可以在此类中写函数然后调用,避免零散的重复的操作数据库。本系统-的数据库的连接代码如下:public staic Sqlnne

22、ction creaonnein()Sqlnntion con=new qConnection(”Dat Soue=SUNNANUN;IialCatalg=Bus;Interte Securityru);rturn cn;为了不反复的访问数据库,记录了一些基本信息,声明了以下成员变量:privat nt SiteCo;/记录站点的总个数privae int LnCunt;/记录线路的总个数private i lne;/保存每条线路5.5.功能实现功能实现。主界面主界面任意乘客、用户都可以登录这个公交查询系统的主界面进行查询.该界面简洁、方便,一目了然的可以进入三大主要查询模块、管理员登录模块、

23、评价模块,为各类用户提供便利。主界面见下图 5-1:-图 5-1主界面图5.25.2。站点查询站点查询任意用户登录该公交查询网站均可进行站点查询.用户需输入站点全称,点击查询按钮后,系统会在数据库中检测该站点是否存在,如果存在,将显示经过该站点所有的公交线路情况,如果不存在将提示该站点不存在。该站点查询界面如图 52 所示:-图 52站点查询图该功能的实现,从 texox 获取站点名称 sitenme,获取到 siteam后,首先查询站点总表里是否存在该站点,若不存在,则 count 赋值为 0,显示提示信息.若存在站点,则遍历所有的线路表查找站点,若某路线存在该站点,则记录该线路,存于数组

24、Line。count用于统计经过该站点的线路的个数。ref 关键字使参数 con按引用传递。其效果是,当控制权传递回调用方法时,在方法中的 coun所做的任何更改都将反映在该变量中。主要实现代码如下:pubc viGtitLie(tring Li,sing itenam,ref int on)SqlCoetion cn cretCnnctin();cn。Open();stri str=eletcunt()rom site where sienam=+stename;SlComacd neSqlCommnd(st,cn);if(Cnvrt。ToInt32(cmdExecuteScalar()。T

25、ing())=0)count=0;c.Clo();elseit i=0;for(intj0;j Lineount;j+)cm。Commandext=seec count()fromLine+i+where SiName=+sitname+”;if(CvertToInt32(md。ExeuteScalr()ToString()Linei+=inj.ToString();n;n。Clos();-5 5。2 2。2 2线路查询线路查询任意用户登录该公交查询网站均可进行线路查询.用户可以在下拉列表显示的所有线路中找到自己想查询的线路,点击查询,系统就会显示该线路去程、回程及一些相关信息.该线路查询界面

26、如图 53 所示:图 5-3线路查询图该功能的实现,首先从ropdownlis获取线路名称 linene,然后从线路集合表中获取该线路的信息存于数组 sLinetal中,并通过线路集合表ineD,获取该路线的所有站点,存于数组 lne 中,ount 用于统计该线路所有站点的个数。主要实现代码如下:ubividGLine(trig sLiTotal,ri lin,stringliname,ref intcount)SqlConction n=retConction();cn.O();string t selec om linetotal werelienae=”+linename+;qlComm

27、an cmd newmand(tr,cn);Sqlataeade ead=cmd。cuteeader();f(raer。aso)/从 lineota中获取信息if(rear。Red())Lnotal0=reer.GeVlue(0)。ToSti()。Tr();sLneTota1=reader。etVlu(1)。Toring().Trm();-sLiTtal2 eader.Geaue()Ttrig()。rim();sLineotal3 rade.Gealue().ToSring().Tm();sLieotal4=reader.GtVlue().Ttrng()Trim();sLieToal=reae

28、。GetValue(5)。Sng().Ti();sLeTal6 rederGtValue(6)。Tng().Tri();sLneTtl7 ead.GeValu(7).ToStig()。Trim();sLneTotl=reade.Getalue(8)。oStrng().rim();sLineToal reaer。Getalue()。ToSting()。Trim();eer.lose();cmdCandTex=sele iename from Line”+ineToa0。ToSrn()rm()+;reade=cmd。ExecteRder();f(eaer.sRows)/从具体的公交线路中获取站点顺

29、序信息int n=0;whle(eae.Read())linen der。Getlue(0).Strig()Tim();out=n;elen.lse();5.5.。3 3换乘查询换乘查询任意用户登录该公交查询网站均可进行换乘查询.用户可输入出发站和到达站,系统会检测是否存在该站点,若存在则会检测这两个站点是否有直达车,如果没有则会进行一次换乘。该换乘查询界面如图4 所示:-图换乘查询图该功能首先从 tetbx 里获取出发站点名 StrtSite 和到达站点名 EdSte,然后判断是否存在这两个站点,若不存在,则给出提示,否则,分别搜索包含 trtite、ndi的路线存于临时数组 SatitLi

30、neId 和 EndSiteLineId 中。分两种情况讨论,1。直达,遍历两条线路的所有组合,判断,如果存在路线相同的,则表示可直达。2需换乘一次,在遍历两条线路的所有组合的前提下,若经过StaSite 的路线中有和经过EndSite 的路线有相同的站点,则表示可换乘一次到达。主要实现代码如下:ont 用于记录方案个数 其中 1 表示不存在 Start站点,-2 表示不存在 Edite表示直达/Linem,m 是表示换成的方案个数的,inm,0 车次 1,inem,1StarSite 到中转站点的站数,Lem,2中转站点,Linm,3车次,Lnem,4中转站点到 EndSite 的站数pul

31、ic void GetSeLnHuanh(srin,Lin,strigSartSie,stng EndSite,ref int ont)tStartSiteLineId=ew int21;/记录包含tarSte 的路线intEndSiteineId=ne in21;/记录包含ndSite 的路线SqlConnecti cn=reateCnectio();cn.pn();/判断是否存在tartite 站点strin tr=selct cou(*)frm sieher tenm ”+SartSite ;SqlCommandmd=new SqComman(st,c);if(CnrtToInt3(md

32、.xecutScalar().ToStrn())=0)cunt 1;n。Cos();rtn;判断是否存在dte 站点-cmd.CommandTxt ect coun()fr siewhere sitename+ndSite+”;;if(Cnvet。oIn2(cmecuteSaar()ToStng()=0)cont=2;n.Coe();rurn;/搜索包含 Strtit的路线it i 0;int j=0;fr(j=0;j Lineunt;+)mdCmmaext=”seect cn()froL+liej+where SiNae=+StrtSite+”;f(Cver。Tont3(cd。ExeuSca

33、r().TString()0)StrSieLedi+=liej;StartiteineIdi=-1;/用于终止判断/搜索包含dite 的路线i 0;j=;f(j=0;LieCu;j+)cmd.ommandText ”selectcont(*)from in liej”whee iteNam+EndSit+”;f(Conet。Ton32(cmd.ExecueScalr()TStrg())0)EndSiteLinId+=ne;ndSitLinIi=1;/用于终止判断/当两个站点处于同一条路线时,即直达fr(i=;i 20&SrtSteLinei!=1;i+)fo(j=0;j20&ndSieLine

34、Idj!=1;j+)f(StartteLineI=nitLineId)cut=-3;Line0,0 StartSteLineId.oString()Tri();/记录第几路车cmd。CmndTeteect cx from Lie”+Lie0,0+”whereiteNe=+EndSte+;/获得ndite 的次序in nd onet。Tnt2(cmd。ExeuScalar().ToStng();c。Cmande=sect cix frm Line+Lne0,0+”where SiteName=+SatSit+”;/获得trtS的次序in stt=Convt。ToInt3(cmd.ExeceSca

35、lar().ToStrng());-Line0,1=Ma。As(end start).TSrg();cn.Cose();tun;int=0;/用于记录当前的方案个数,用于数组Lne,/用于判断换乘的,换乘一次r(i 0;i 20&tartSiteLineIi!=&k ;i+)intstasi=nw int5;/用于记录每条路线的站点 idcm.Cmandext=elec steid fr Line”+artSiteneId+”;SqlaaReaer redr=cmd.EecutReer();i(raderHasRws)in um=0;whil(redr.Read())startsitnum+o

36、nvert。ToIn32(reade。GtVau()。TString().Trm());sarsiteum=1;eaer.Clse();f(j=0;j&EndSieLineId!=-1 k 8;j+)intedsi newit5;/用于记录每条路线的站点cmommandet sect teid rm ine+EndSeLineIdj+;;reaer cmd。ExueReader();(red。HasRws)nt num=0;whil(reae。Read())endite num+=Convrt。on32(eaderetValu(0)。ToStrig()。Tm());dsitenm=1;reae

37、rClse();it go=;/用来控制下面两个循环的/寻找两条线路中两条线路的相同站点for(int m=0;35&staritem!1&Logo=0;m+)or(inn 0;n 35&endsite!=1 Loo=0;n+)i(tartsitem=nsten)-mdComant=”elct cixu from in+StrtStLineIdi+her sitame=+StSit;;nt tat=nvert。TInt32(mdExecteaar().otring());cmdmmaTxt=”sect cixu frLe+EndiLindj+hresienm=+EndSit+;”;int en

38、d=onveton32(cmExecutScar()。oString());d。Comanext=selc siteame osi where sitei=”starttem+;”;inek,0=tatSieLineIi TStrig();Lie,1=MatAbs(m+-start)。ToStri();/+就相当于是这点的次序Linek,cmd.xeutScalar().ToStng()。Trim();iek,=EndSiteLineIdj。Tring();Lek,4=MathAbs(+1-end)。oStrng();Loo=1;/跳出上面两个循环k+;/endor/e or(j=;j 0 n

39、dieLineIdj!=;j+)/end for(i=0;i aert(添加站点失败!);0)st=crea bleine+dei”(tIdit not nul,+”teName char(10)no ul,+SteDescbe cha(50),+”Cxu int notull,+);;m。CommandTxt=tr;cxectNonQe();for(nt =7;addcheci!=nul;i=i+1)cmdCmmandTx=select cun(*)fromsit whr sitenam=”+ddcheii ”;;if(Convet.TInt2(md。xecuteScala().ToStrg

40、().Trim())=0)m.mmandText ”insert into site va s(+(+SiCnt)+,addchecii+,);;cd.ExecutoQuery();cmd。ComandText slect itei omswhere stname=ddhcii ;”;intsteid=;siteid=Convert。TInt32(cm.EecueScalar()。oString().Trim());cd。ComdText=iert nto Lne”adhec0+”au(+stei+”,addccii+,”+”+,”+(i 6)+);;f(cdExecuteonQuer())m

41、domandext=”dp table Line”+addchci0+;cmd.ExecuteNonQue();cnCloe();retn true;elscmd。CoanTex=”elete from Liota hereLineId=+addcheci0+;”;m。xecutNonuy();cn。loe();retur false;-esec.Clse();reun fale;cnCse();rturn alse;2。修改车次修改车次功能和添加车次类似,就是该路线表是有的,不需要建表,然后其他的和添加类似。3。删除车次删除车次功能只需从ropdonlist 选择要删除的车次,首先从 Lne

42、tot中删除车次信息,然后删除这个车次表。pbli boolDeleteCci(tring ae)SqlConncton n=ceateConection();cnOen();Comad md=nw Slommnd(select LneIdfrom eTotawere Linem=”+ne+”,cn);tlnd=Conver。Int3(cmdEutScalr().oSrin());dCommandTxt=”elete fro LineTotl we Lineame=”+ne+”;if(cdExecuteoQuery()0)cmCma=dop tabl Line+lneid;c.ExcutonQ

43、uery();int k=;cn.Cse();retrn true;esenCos();rrn fas;return fls;5.45.4评价管理评价管理为了与使用该公交查询系统的用户达成互动,该系统制作了一个评价的独立控件组,并用 MsCart 制作了评价票数的统计饼图.Mshart 是微软发布的.NT 35 框架下的图表控件,可以支持各种各样的图形显示,-常见的:点状图、饼图、柱状图、曲线图、面积图、排列图等等,同时也支持样式的图表显示,支持图形上各个点的属性操作,它可以定义图形上各个点、标签、图形的提示信息(Tltip)以及超级链接。评价功能界面如下图 5-8,统计饼图如下图 5-9:图

44、 5-8用户评价图图 5-9饼图实现图用户可以选择“很好,“还可以”,“一般,“仍需改进,“很差四个选项,进行评价,如图58。用户可以在图59上查看实时的评价结果,可以有多种显示方式,饼图,同心圆,等等。由于数据库操作简单,只是数据的添加功能,代码省略。Mshrt 属性定义的相关代码:prced voi Page_d(objct sende,vetArg e)/plte seres atadoble yValus new oube;stringxVles=ewstring;DCectd new Conct();db.GPingaa(alues,yVaus);Chat1erisSeries1.o

45、ins。atBind(xlues,Vales);if(hs.CartTypisSlcteItem.ToSti()=”Pie)Chart1SeriesSeres.CharTy=SresChartType.Pie;elsCht1.Serie”Seres”.ChrtTpe=ieshartTpe.Dougnt;if(thishowLegend.Chece)ha1.Series”ies1”ieLabelStyle”=”Disabled;lseChart.Serie”eies1”ieLltye”nsde;/Sechart type andttlChart1。Series”Seris1”。artTpe(Se

46、iartTpe)Enumas(typeof(eiesChatTyp),this.hatTypeLst.elecedtem.TString(),tue);f(ChatypList。SelctedIte。Totri()=Doughut”)Crt。iles。ext=评价情况双环图显示”;-lsea。Titles0.x评价情况饼图显示;/Set las tlehat1 Sere ies1 ieLaltyle”=thi LaeSyleLis.SelctedIem.ToSrin();/etDoghu hle sizCa1。Seieserie1”DoughnutRadius”=tis。Hleizeis。Se

47、ectdIemTotring();/isabeDoughnut hole szecorl o i hartthis。oSzeLis。Enble=(this.hartTypList.SelectedIem.TStrin()!=Pe);/xpode eectd ontryfreach(taPoint oiin ha1.Sris”erie1”。oints)poitExld”fale;i(oitAsLabl=ths.ExpoddPintListSlecteItm.ToStrig()pontEploded=tre”;/Eae 3DCart1.ChatAr”harre1.Area3tyle。Ena3D=c

48、kbohowD.hd;Cart1Serie0”ieDrawingtyle=thi.ropownlist1。SelcteI。Ttng();/Pieawingstyleif(his.Cecbohow3D.Ccd)hs.Dronlist1。Eabled=ale;elsethis.Dropdownlist1。nale=te;if(thisSwLegend.hecked)th.Crt1。eends0 Enab tru;elsets.Cha1Lgs0.nabled=flse;6 6测试测试6.16.1开发过程遇到问题开发过程遇到问题.在实现添加路线功能时,最初,要实现在 tet内输入一个站名,下表可以动态

49、显示刚才输入的站点名。但是出现了每按一次“添加”都只显示当前站点名的问题,无法记录以前的站点名。经过查看代码,询问老师,发现由于用于记录站点数的变量 nLbelCout,在声明时是“intLaelont=5。每按一次“添加就刷新一次,变量会重新赋值,达不到预-期的结果,即LbelCount 永远等于。若用 stti修饰,则变量 nLabeCount 可以直到页面结束,生命周期才结束,这样可以用来动态显示输入的站点。如下图 6。1 站点添加所示:图 61站点添加。在实现管理员登录后,解决了etAdmnNe 的问题后,在实现跨页面传值,动态显示管理员姓名时遇到了更棘手的问题,最后通过查找资料、询问

50、老师,尝试了三种不同方法.第一种,使用 QryString,这种方式最简单,但是存在会将传递的值显示在浏览器的地址栏上的缺点,非常不安全。第二种,使用 Cookie 对象变量,此方法是对每一个用户而言,Cook变量存放在客户端,需配合P。NET 内置对象 Requet 来使用。最后一种,使用 Ssn 变量,此方法可以将控件中的值存在 Sesion 变量中,然后在另一个页面中使用它,以达到不同页面间实现值传递的目的。因为Sesion 变量存放在服务器端,所以当其存储较多的数据时会消耗比较多的服务器资源。因为此处跨页面只是传递管理员姓名,所以尝试发现使用Sssion 变量最合适。实现效果如下图 6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁