公交查询系统设计与实现论文.doc_第1页
公交查询系统设计与实现论文.doc_第2页
公交查询系统设计与实现论文.doc_第3页
公交查询系统设计与实现论文.doc_第4页
公交查询系统设计与实现论文.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

天津师范大学本科毕业论文(设计)题目:基于WEB的简易公交查询系统的设计与开发系 别:理学系学生姓名:-学 号:-专 业:计算机科学与技术年 级:2008级完成日期:2011年 11月2 日 指导教师:张海涛 I基于WEB的简易公交查询系统的设计与开发摘要:随着我国公交系统的蓬勃发展,公交线路的数目和站点愈发完善,在给市民提供方便的同时,市民在出行过程中对公交路线的查询往往不知所措。在此背景下,本人开发了这个应用程序城市公交查询系统。本次设计,首先本人通过接合公交实际的运营情况以及乘客的实际需求,了解到在公交乘坐过程中主要包括了对线路、站名、站点区间以及线路图等几方面的查询,与此相结合开发对应的功能;因此在开发过程中建立了两个核心模块查询模块;其中包括按线路查询、按站点查询、按地图查询和按两站点查询等功能;管理更新模块;其中包括公交站点管理和公交线路管理等功能。关键词: ASP.NET,公交查询,SQL ServerWEB-based Query System for Easy Transport Design and DevelopmentAbstract: With the vigorous development of Chinas public transportation system, the number of bus routes and sites become more perfect, convenient to the public at the same time, people travel during the course of inquiries, often at a loss of bus routes. In this context, I developed this application - city bus check system. The design, by joining my first actual bus operations as well as the actual needs of passengers, learned in the course of public transportation including a ride on the line, station name, the site range and route map and other aspects of the query, and this combination development of the corresponding functions; so in the development process to establish a two core modules - check module; including inquiries by the line, according to the site check, according to the map query and query functions at two sites; management update module; including public transportation management and bus lines management.Key words::ASP.net , Bus inquiry ,SQL Server目录1 引言11.1课题背景11.2论文的研究内容12 系统的开发工具与环境12.1 ASP.NET简介12.2 ADO.NET概述22.3 C#概述22.4 SQLServer介绍32.5系统的开发要求33 需求分析43.1 系统需求分析43.2 数据库需求分析53.3 性能需求54系统概要设计74.1概述74.2 功能模块划分74.3 数据库设计75、 详细设计与实现115.1 前台功能的实现115.2后台管理功能的实现186、总结与展望25参考文献:26致谢27 271 引言1.1课题背景公交系统是服务于各个城市的各类人员出行的公共服务行业,在2011年,天津的公交线路已经达到了两百三十多条。一个完善的公交系统是每一个城市社会活动以及经济活动的有序进行的不可或缺的一部分。在城市建设和国民经济的飞速发展的今天,城市经济的快节奏,人口的指数级增加决定了解决好人们出行问题的迫切需求。城市公交直接的或者间接的在方方面面影响着城市的经济发展和居民生活,对城市的和谐建设具有广泛的、先决性的影响,城市公交借助其广覆盖性、低价格性、高容量性业已成为交通系统网络中的主体。然而随着城市大型化的前进脚步,公交系统也越发庞大。在这一情况下,公交信息获得变得越发复杂困难,对市民的出行造成了极大的不便。因此,建立一个高效、便利、快捷的公交查询系统迫在眉睫。在现在的低碳出行的环保理念之下,人们对出行方式的注意力越发被公交系统所吸引,同时那些来到外地打工、出差以及进行各类商业活动或因其它事情需要在外地进行短暂停留的人而言,公交系统他们更是他们的首选交通工具。而对于这些来到不属于自己所熟悉的城市的人们,公交的信息获得是一个很大的难题,考虑到以上种种因素,开发一个公交查询系统的需要就显得日益突出。本系统的核心是对这些急需了解当地公交线路的乘客,通过各类查询方式,获取所有站点或者线路的相关信息。1.2论文的研究内容本公交查询系统目的是设计一个取代过去人工查询的信息化公交查询系统。本论文论述了一个基于B/S(浏览器/服务器)模式的公交查询系统的研究和实现的过程. 论文以开发平台和工具为起始点,对ASP.NET平台所提供的各类组件以及其所对应的属性和方法做了粗略的介绍,重点阐述了ASP.NET的数据库访问组件ADO.NET的使用方法。最后,详细介绍了创建本“公交查询系统”的全部过程。2 系统的开发工具与环境2.1 ASP.NET简介ASP是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指Active Server Pages(动态服务器页面),运行于IIS之中的程序 。ASP.NET的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)作用更加突出,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual InterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始迅速大量的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一2.1.1 ASP.NET技术的优点ASP.NET是一种将各种Web元素组合在一起的服务器技术,是一个统一的Web开发平台,它提供了生成一个完整的Web应用程序所必须要的各种服务。与以前的开发模型相比较,它提供了以下数个重要的优点:(1)强大性和适应性。(2)世界级的工具支持。(3)威力和灵活性。(4)简易性。(5)可管理性。(6)可缩放性和可用行。(7)自定义性和扩展性。(8)安全性2.1.2 .NET Framework概述NET Framework又称 .Net框架。是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。.NET框架是微软公司继Windows DNA之后的新开发平台。2.2 ADO.NET概述ADO.NET并不是ADO的升级版本,它是全新的面向对象模型。比ADO更适应于分布式及Internet等大型应用程序环境,为了多人同时存取更具扩展性,ADO.NET的数据存取采用的是离线存取模式,可说是专门为.NET平台设计的数据存取结构。它具有简单地访问关系数据、可扩展性、支持多层应用程序、统一XML和关系数据访问的特点。2.3 C#概述C#是微软(Microsoft)针对.NET Framework指定的程序语言,C#拥有C/C+的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C+与Java一样亦为对象导向(object-oriented)程序语言。C#是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛上首先出现。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着很高的相似度;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。2.4 SQLServer介绍2.4.1SQLServer技术介绍SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上走向了不同的道路,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。2.4.2SQLServer2005相关内容SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。 SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。 2.5系统的开发要求本次开发的公交查询系统对操作系统的要求如下:硬件要求:CPU:最低Intel Pentium 4 1.7 GHz。磁盘空间:250MB(完全安装),155MB(快速安装)。内存:512MB(最好1GB以上)。显示:1024*768,真彩色操作系统:Windows XP SP2以上的操作系统。开发平台:Visual Studio.NET 2005,Microsoft SQL Server 2005。3 需求分析3.1 系统需求分析在我国经济高速发展的今天,人们的生活水平和消费意识不断进步,旅游早已成为生活中不可或缺的一部分。而这些旅游者在出行的过程中,当来到一个陌生城市时详细准确的了解当地的公交线路就显得尤其重要。天津,作为一个开放的海滨直辖市,每年都会接待大量来自国内外的旅游者,为了满足这些游客熟悉公交路线的需求,特以公交查询系统为设计课题。本系统不仅能给外地游客带来方便,也能给广大本地市民提供便利。开发本系统的目标就是立足广大乘客的实际要求,着眼于公交业的未来发展,建立规范人性的公交管理,提高公交服务质量,方便乘客查询。在本系统中,以公交查询功能为核心,根据不同的情况需要对查询功能进行了延伸和拓展。首先,广大乘客经常在不同的地点希望了解途经该地点的相关公交,为此本人对应开发了站点查询功能;其次,因为乘客不一定能准确记忆该地点的相应站点,为了满足本项需求,系统同时设计了模糊查询,大大为用户提供了方便;再次有的乘客希望了解某条线路的途径站点概况,所以线路查询也是不可或缺的一部分;进一步的讲;在很多情况下,许多用户希望了解从某个站点到另一个站点的乘坐方法,同时目的地和出发地常常并不能一次直达,本设计中的区间查询、换乘查询也应运而生;最后为了满足一些乘客的特殊需要,线路图的查询也是必不可少的一部分。本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系、数据库的联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能。前台主要有5个模块,线路查询、站点查询、站点区间查询、线路图查询和后台管理模块(1)功能名称:线路查询功能概述:可以获得要查询公交所通过的各个站点。(2)功能名称:站点查询(包含模糊查询)功能概述:通过输入的指定站点查询经过该站点的公交,同时亦可在并不能详细记忆站点名称时借助模糊查询来实现对某一公交站名的查询。(3)功能名称:站点区间查询(包含换乘查询)功能概述:借助输入的起始站和终点站的名称来查询某一区间内经过的所有线路,而当所输入的区间不能直达时可以借助换乘查询了解到相应的公交线路的信息。(4)功能名称:按线路图查询功能概述:按照选择的线路编号查看该线路的线路图。(5)功能名称:后台管理功能概述:用于管理员登录,添加、修改、删除公交线路,修改信息资料等功能。系统的功能图如图3.1所示。图3.1系统功能图3.2 数据库需求分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一既是对数据库的需求分析,按照系统设计的需求进行设计。在本系统中设计到了三个模块:(1)公交相关信息的数据库。(2)管理员信息的数据库。(3)网站评价的数据库。3.3 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,城市公交查询系统应该满足以下的性能需求:3.3.1 系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。3.3.2 系统的开放性和系统的可扩充性公交查询系统在开发过程中,应该充分考虑以后的可扩充性。例如网上查询的用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代,因此在本设计中采用了Web技术。Web是图形化的和易于导航的。Web 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了。3.3.3 系统的易用性和易维护性公交查询系统是直接面对用户的,而用户往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。3.3.4 系统的先进性在计算机信息技术迅猛发展的今天,作为公交查询系统工程,应该保证系统在下五至十年内仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。3.3.6 系统的响应速度公交查询系统在日常处理中的响应速度以网速而定,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。4系统概要设计4.1概述本部分设计的基本目标是解决系统具体实现问题,主要任务是规划出系统的物理元素及软件的设计框架,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。4.2 功能模块划分系统查询模块该模块实现公交查询功能。可以实现线路查询、站点查询(包括模糊查询)、站点区间查询(包括换乘)、线路图查询四种查询功能。系统管理模块该模块实现相关公交信息的新增、修改、删除功能。4.3 数据库设计数据库技术是在文件系统的基础上发展起来的一种高效的数据管理技术,它能保持系统数据的整体性,完整性和共享性。在数据库系统中提供了对数据的访问机制,能有组织的存储相关的数据,具有合理的存储方式,快速的查询效率和最小的数据冗余等特性。另外数据的存储和应用程序彼此独立,不仅便于数据的管理与控制而且有利于应用程序的编写与调试。数据库类似于一个数据的大仓库,能很好地实现数据共享,能维护数据的一致性。数据库设计是系统设计的一个重要内容,其设计质量的好坏直接影响系统开发的成败,系统的质量,系统效率及可维护性。4.3.1 数据库概念结构设计在系统设计的开始,首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但它只是数据库设计的第一步。实体和属性的定义如下:管理员表(登录ID,登录姓名,登录密码)站名表(站名编号,站名)车辆线路编号表(车次,车线类型)线路表(线路编号,车次,站名,次序)车辆表(车辆编号,车次,车辆类型,服务类型,票价,IC卡类型,运行区间)发车时间表(车次,编号,首班时间,末班时间)线路图表(车次,线路图)Vote_Grades表(编号,选项,统计个数)E-R图如图4.1所示。图4.1 E-R图4.3.2数据库逻辑结构设计本系统采用的数据库管理系统是Microsoft公司的SQL Server 2005。该管理系统由一系列产品组成,不仅能够满足最大的数据处理系统和商业 Web 站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。本系统创建的SQL数据库名称为城市公交查询系统。并将数据文件和日志文件保存在公交查询系统APP_DATA文件夹中。此数据库包含7个表:其中主要的数据库关系图如图4.2所示。图4.2数据库关系图管理员表管理员表存放登陆系统所需要的用户名和密码,登录后台时需要访问此表。表4.1 管理员表字段名数据类型长度是否为空是否为主键说明LoginIdint4否是登陆IDLoginPwdvarchar50否否登陆密码Loginnamevarchar50否否登陆姓名站名表站名表存放站名等数据,修改站名需要访问此表。表4.2 站名表字段名数据类型长度是否为空是否为主键说明站 编号int4否是站名编号站名varchar50否否站名车辆线路编号表车辆线路编号表存放线路编号等数据,修改车辆线路编号将要访问此表。表4.3 车辆线路编号表字段名数据类型长度是否为空是否为主键说明车次int4否是车次车线类型varchar50否否车线类型线路表线路表存放公交车线路的数据,修改车辆线路需要访问此表。表4.4线路表字段名数据类型长度是否为空是否为主键说明线路编号int4否是线路编号车次int4否是车次站名varchar50否否站名次序int4否否次序车辆表车辆表存放车辆的相关信息,修改车辆等相关信息需要访问此表。表4.5 车辆表字段名数据类型长度是否为空是否为主键说明车辆编号int4否是车辆编号车次int4否是车次车辆类型varchar50否否车辆类型服务类型varchar50否否服务类型票价varchar50否否票价IC卡类型varchar50否否IC卡类型运行区间varchar50否否运行区间发车时刻表发车时刻表存放发车的时间,修改发车时间需要访问此表。表4.6 发车时刻表字段名数据类型长度是否为空是否为主键说明编号int4否是编号车次int4否否车次首班时间varchar50否否首班时间末班时间varchar50否否末班时间Vote_Grades表表4.7 Vote_Grades表字段名数据类型长度是否为空是否为主键说明编号int4是是编号选项varchar50是否选项统计个数float8否是统计个数线路图表表4.8 线路图表字段名数据类型长度是否为空是否为主键说明线路图Varchar50是否线路图路径车次int4否是车次5、 详细设计与实现5.1 前台功能的实现5.1.1连接数据库的包含文件在动态网站中,调用数据库中的数据是十分频繁的,为了避免编写重复的代码。编写一个数据库连接文件是非常重要的。DB.cs文件中包含了本系统中的数据库的连接代码。本系统的数库的连接代码如下:public static SqlConnection createConnection()SqlConnection con=new SqlConnection(server=.;database=城市公交查询系统;uid=sa;pwd=123;);return con;5.1.2按线路查询线路查询模块:用户进入系统后,在线路查询模块的输入框中输入要查询的线路,点击查询按钮,系统首先检查用户所查询的线路是否存在,如果不存在给出出错提示,如果存在给出这条线路的相关信息,如:双向早晚车的工作时间,票价,经过的站点。如线路存在,进入线路界面如图5.1所示:图5.1线路查询主要实现代码如下:SqlCommand cmdsj=new SqlCommand(cmdstring,con);SqlDataReader sdrsj=cmdsj.ExecuteReader();while(sdrsj.Read()string linetemp1=sdrsj首班时间.ToString();string linetemp2=sdrsj末班时间.ToString();line+=(首班时间为:+linetemp1+ ;line+=末班时间为:+linetemp2+);/显示线路的具体情况SqlCommand cmd=new SqlCommand(select * from 公交车线路表where 车次=+num+order by 次序ASC,con);SqlDataReader sdr=cmd.ExecuteReader();/在数据库中查找相应线路trywhile(sdr.Read()line+=sdr站名.ToString();line=line.Replace(sdr站名.ToString(),+sdr站名.ToString()+);/获取具体的站名line+=-;finallydr.Close();con.Close();int i;i=Convert.ToInt32(line.Length);line=line.Substring(0,i-3); 5.1.3按站点查询站点查询模块:用户进入系统后,按站点的确切信息也就是完全匹配查询,此时用户要给出站点的全称,当点击查询按钮后,系统会在数据库中检测该站点是否存在,如果存在,系统显示这个站点的相关信息。比如:经过这个站点共有哪些线路,这些线路又各经过哪些站点,即可查询,如图5.2所示。 图5.2 站点查询主要实现代码如下:string StationName=Request.QueryStringStationName.ToString(); ArrayList alcheci=new ArrayList();ArrayList alzhanm=new ArrayList();SqlConnection con=DB.createConnection();con.Open();SqlCommand cmd=new SqlCommand(SELECT 车次FROM 公交车线路表WHERE 站名=+StationName+,con); /在数据库中查找相应的站名SqlDataReader sdr=cmd.ExecuteReader();while(sdr.Read()alcheci.Add(sdr.GetValue(0);sdr.Close();str+=经过+StationName+车次如下:;/输出经过该车次的线路为了方便那些不能准确记忆相关站点名称的用户同时又设计了模糊查询模块,通过输入相关的站点关键字即可查询,如图5.3所示图5.3 模糊查询相关代码如下:string StationName2 = this.txtStationName.Text; SqlConnection con = DB.createConnection(); con.Open(); SqlCommand cmd = new SqlCommand(select count(*) from 站名表 where 站名 like +%+StationName2+%, con); int count = Convert.ToInt32(cmd.ExecuteScalar(); con.Close(); if (count 0) Response.Redirect(showStationName2.aspx?StationName=+StationName2); else Response.Redirect(error/error2.aspx?a= + StationName2); 5.1.4按两站点查询两站点查询模块:用户进入系统后,在主页面的换乘查询模块中,用户可以在起点站输入框中输入自已的出发点,然后在终点站输入框输入出行的终点,系统会给出相关提示,显示出所需乘坐的公交车线路。如图5.4所示。图5.4 两点查询主要实现代码如下:if(cixuScixuE) zhanmNum=cixuE-cixuS+1;cmd.CommandText=SELECT 站名FROM 公交车线路表WHERE 次序BETWEEN +cixuS+ AND +cixuE+ AND 车次=+alNumk.ToString()+ ORDER BY 次序ASC;/查找上行线路的线路车次elsezhanmNum=cixuS-cixuE+1;cmd.CommandText=SELECT 站名FROM 公交车线路表WHERE 次序BETWEEN +cixuE+ AND +cixuS+ AND 车次=+alNumk.ToString()+ ORDER BY 次序DESC;/查找下行线路的线路车次str+=+alNumk.ToString()+;str+=路(总共经过+zhanmNum.ToString()+个站);/输出相应的线路编号在本模块中同时为了满足那些所成车次不能一次到达的用户,本人同时设计了换乘查询的功能,如图5.5所示。图5.5换乘查询主要实现代码如下:SqlConnection con1=DB.createConnection();con1.Open();cmd.CommandText=SELECT 站名FROM 公交车线路表WHERE 车次=+Convert.ToInt32(alSi);SqlDataReader sdrzhanm1=cmd.ExecuteReader();cmd.CommandText=SELECT 次序FROM 公交车线路表WHERE 站名=+a+AND 车次=+Convert.ToInt32(alSi);/经过起始站点的次序int cixuS=Convert.ToInt32(cmd.ExecuteScalar();cmd.CommandText=SELECT 次序FROM 公交车线路表WHERE 站名=+b+ AND 车次=+Convert.ToInt32(alEj);/经过终点站点的次序int cixuE=Convert.ToInt32(cmd.ExecuteScalar();cmd.CommandText=SELECT 次序FROM 公交车线路表WHERE 站名=+alzhanm1k.ToString()+ AND 车次=+Convert.ToInt32(alSi);/经过共同的站点的次序,在起点线路上int cixuS1=Convert.ToInt32(cmd.ExecuteScalar();cmd.CommandText=SELECT 次序FROM 公交车线路表WHERE 站名=+alzhanm2l.ToString()+ AND 车次=+Convert.ToInt32(alEj);/经过共同的站点的次序,在终点线路上str+=第+checiNo+方案(总共+zhanNum+站路);str+=先乘+alSi+路从+a+站到+alzhanm1k.ToString()+站下再从+alzhanm1k.ToString()+站乘+alEj+路到+b+站;/输出相应的乘车方案str+=(+a+-+alzhanm1k.ToString()+);for(int m=0;m;str=str.Replace(alzhanming1m.ToString(),+alzhanming1m.ToString()+);5.1.5按线路图查询按线路图查询模块:用户进入系统后,在主页面的主查询界面中,可以按线路查询后面的下拉菜单中选择相应的线路点击查询,系统会自动跳转到该线路图所对应的地图界面。如图5.6图5.6 按线路图查询主要实现代码如下:if (Request.QueryStringnum != null) int num1 = Convert.ToInt32(Request.QueryStringnum.ToString(); SqlConnection con1=DB.createConnection();con1.Open(); string sqlstr = select 线路图 from 线路图表 where 车次= + num1; conn = new SqlConnection(sqlcon);/查找相应的线路在数据库中存放的编号 SqlCommand com = new SqlCommand(sqlstr, conn); string img = com.ExecuteScalar().ToString(); conn.Close(); Image1.ImageUrl = img;/输出物理路径所存放的图片5.2后台管理功能的实现5.2.1新增车次线路此模块为管理员操作,如当地出现新的公交线路,或原有公交车线路有新的站点加入,管理员可以登录此表,及时添加线路和站点的信息,以保证车次线路的及时更新,方便用户查询。添加车次的界面如图5.7所示。图5.7 新增线路站名在输入相关车次信息后便进入站名添加过程如图5.8所示。图5.8新增车次主要实现代码如下:if(Check()int maxChelNo=GetMaxChelNo();SqlConnection con=DB.createConnection();con.Open();SqlCommand cmd=new SqlCommand(INSERT INTO 车辆线路编号表(车次,车线类型)VALUES(车次,车线类型),con);/在数据库中插入相应的线路信息SqlParameter para=new SqlParameter(车次,SqlDbType.Int,4);para.Value=Convert.ToInt32(this.txtCheci.Text.Trim();cmd.Parameters.Add(para);para=new SqlParameter(车线类型,SqlDbType.NVarChar,50);para.Value=this.ddlLineType.SelectedValue;cmd.Parameters.Add(para);cmd.ExecuteNonQuery();Response.Redirect(AddCheciDts.aspx?str=+this.txtCheci.Text.Trim();elseResponse.Write(alert(请输入完整的信息!);/当信息输入不完整是提示错误信息5.2.2新增车次线路此模块为管理员操作,如当地出现新的公交线路,或原有公交车线路有所变动是,管理员可以登录此模块,及时添加相关的线路图,以保证车次线路图的及时更新,方便用户查询。添加的界面如图5.9所示:图5.9新增车次主要实现代码如下:string imagePath = /HTGL/images/ + FileUpload1.FileName; FileUpload1.SaveAs(imagePath); SqlConnection con1=DB.createConnection(); string InsetTemp = insert into 线路图表(车次,线路图) values( + TextBox1.Text.Trim() + , + imagePath + );/插入相应的线路图编号并上传图片至物理存储位置 conn.Open(); cmd = new SqlCommand(InsetTemp, conn); cmd.ExecuteNonQuery(); conn.Close(); Response.Write(alert(成功添加线路图!););/提示成功添加的信息5.2.3删除车次以及无效站点此模块同样为管理员操作,如当地哪个公交线路已经被废除,或原有公交车线路有哪个站点被删除,管理员可以登录此表,及时删除线路和站点的信息,以保证车次线路的及时更新,方便用户查询。删除的界面如图5.10,5.11所示:图5.10删除车次图5.11删除无效站点主要实现代码如下。(1)删除车次:SqlConnection con=DB.createConnection();SqlCommand cmd=new SqlCommand(DELETE FROM 车辆表WHERE 车次=+ddlCheci.SelectedValue,con);/在数据库的车辆表中删除相应的车次cmd.ExecuteNonQuery();cmd.CommandText=DELETE FROM 公交车线路表WHERE 车次=+ddlCheci.SelectedValue;/在数据库中的线路表中删除相应的车次BindGrid();Response.Write(alert(删除成功!);/提删除成功是提示相应的信息(2)删除无效站点:if(JudgeZhanm()if(!JudgeDelZh()SqlConnection con=DB.createConnection();con.Open();SqlCommand cmd=new SqlCommand(DELETE FROM 站名表WHERE 站名+txtZhanm.Text.Trim(),con);/在站名表中删除相应的站名cmd.ExecuteNonQuery();Response.Write(alert(删除成功!);elseResponse.Write(alert(暂时不能删除此站名!);elseResponse.Redirect(./error/error7.aspx?ZhanMing=+txtZhanm.Text.Trim();/根据不同的情况删除相应的信息5.2.4删除线路图该模块在管理员系统中实现,如当地哪个公交线路已经改变,管理员可以登录此模块,及时删除线路图信息,以保证车次线路图的及时更新,方便用户查询。删除的界面如图5.12所示:图5.12删除无效站点主要实现代码如下:SqlCommand cmd=new SqlCommand(DELETE FROM 线路图表 WHERE 车次=+ddlCheci.SelectedValue,con);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论