《基于web的城市公交查询系统设计与实现1.pdf》由会员分享,可在线阅读,更多相关《基于web的城市公交查询系统设计与实现1.pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选 doc 最新版毕 业 设 计 说 明 书学学生生姓姓名名学学院院学学号号专专业业题题目目计算机科学与技术(软件工程)基于 web 的城市公交查询系统设计与实现指指导导教教师师讲师/硕士2013年5月(姓名)(专业技术职称/学位).精选 doc 最新版毕业论文独创性声明本人郑重声明:本论文是我个人在导师指导下进行的研究工作及取得的研究成果。本论文除引文外所有实验、数据和有关材料均是真实的。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。其他同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。作者签名:日期:.精选 doc 最新版摘摘
2、 要:要:随着信息化时代的推进,各个行业都在采用信息化的管理方式。城市公交的查询也可以依托计算机技术,来更好的为乘客提供信息服务,提高工作效率,降低乘客出行成本。如此才能提高公交在各出行方式中的竞争力。本设计是以 Microsoft SQL Server 2005 作为后台数据库开发,以 Visual Studio 2008作为开发平台,开发的基于 ASP.NET 的城市公交查询系统。该系统主要包括以下功能模块:乘客前台查询和管理员后台管理。前台查询包括换乘查询、线路查询、站点查询、评价统计,后台管理模块则通过管理员登录后分别实现对站点、线路的添加、删除、修改。本论文详细介绍了各模块的设计与实
3、现。关键词:关键词:公交,ASP.NET,查询,数据库.精选 doc 最新版AbstractAbstract:With the advancement of the information age,all industries ininformation management.Urban public transport queries can rely on computertechnology,to provide passengers with a better service,improve efficiency,reduce the cost of passenger travel.
4、The design is based on Microsoft SQL Server 2005 as the back-end databasedevelopment as a development platform,Visual Studio 2008,the development of urbanpublic transport query system based on ASP.NET.The system includes the followingfunctional blocks:Passengers front and administrators Admin.The fr
5、ont desk queryincludes:Transfer Inquiry line inquiry,site for the evaluation of the statistics,the background management module added to the site,line by the administrator login,delete,modify.This paper introduces the design and implementation of each module.KeywordsKeywords:BUS,ASP.NET,Inquiry,Data
6、base.精选 doc 最新版目目录录1前言.31.1课题背景.32系统的开发工具与环境.32.1 ASP.NET 简介.32.2系统的开发要求.43需求分析.43.1功能需求分析.44设计准备.54.1功能模块划分.54.2数据库设计.54.2.1数据库概念结构设计.54.2.2数据库逻辑结构设计.75详细设计与实现.95.1关于数据库操作.95.2功能实现.105.2.1主界面.105.2.1站点查询.105.2.2线路查询.125.2.3换乘查询.135.3后台管理.175.3.1管理员登录.175.3.2添加、修改、删除站点.185.3.3添加、修改、删除车次.205.4评价管理.23
7、6测试.256.1开发过程遇到问题.256.2进一步研究工作.26结束语.27参考文献.28致谢.29.精选 doc 最新版1 1前言前言1.11.1课题背景课题背景交通是每个城市发展的标志,便捷通达的交通系统能合理有效的改善交通拥塞、能源紧张、噪声干扰、废气污染等一系列问题,推动城市的建设与进步。当下城际轻轨、地铁最快捷便利,但是运营成本过高,只能在一些发达城市运行,老牌公交车则经久不衰,以其低成本高亲民度,健硕存在于各个级别的城市,服务着广大群众。为了更好的了解城市的公交运行系统,方便人们的出行,开发了本系统。该系统,有利于公交公司随时将公交最新信息发布到网上,乘客能够无门槛登录该系统查询
8、公交信息。系统分为前台和后台,前台能够供登录系统的用户访问,后台由公交公司管理人员进行维护。该系统的核心功能为公交车信息的查询,查询分为站点换乘查询、公交站点查询、公交线路查询。站点换乘查询是用户输入起止站点名称,查询出如何乘车到达,要求能够查询出所有直达车次与二次换乘可到达的车次;公交站点查询是用户输入公交站点,查询出经过此站点的所有车次,并能够查看该车次详细信息;公交线路查询是用户输入指定车次,查询出此车次的详细信息。2 2系统的开发工具与环境系统的开发工具与环境2.1 ASP.NET2.1 ASP.NET 简介简介ASP.NET 是基于通用语言的编译运行的程序,它的强大性和适应性,可以使
9、它运行在Web 应用软件开发者的几乎全部的平台上。ASP.NET 建立在.NET Framework 的编程类之上,它提供了一个 Web 应用程序模型,并且包含使生成 ASP Web 应用程序变得简单的控件集和结构。ASP.NET 包含封装公共HTML 用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在 Web 服务器上运行,并以 HTML 的形式将它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 Web 开发人员提供了面向对象的编程的丰富性。ASP.NET 还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可
10、靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用 XML Web services 功能,ASP.NET 开发人员可以编写自己的业务逻辑并使用 ASP.NET 结构通过 SOAP 交付该服务。Visual Studio 2008 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。VisualBasic 2008、Visual C+.NET、Visual C#.NET 和 Visual J#.NET 全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。
11、另外,这.精选 doc 最新版些语言利用了.NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Webservices 开发的关键技术的访问。2.22.2系统的开发要求系统的开发要求该公交查询系统对操作系统的要求如下:硬件要求:1.CPU:最低 Intel Pentium II 500MHz2.磁盘空间:250MB(完全安装),155MB(快速安装)。3.内存:512MB(最好 1GB 以上)。4.显示:1024*768,256 色。软件要求:1.操作系统:Windows2000 以上的操作系统。2.开发平台:Visual Studio 2008,Micr
12、osoft SQL Server 2005。3 3需求分析需求分析3.13.1功能需求分析功能需求分析本公交查询系统以淮安作为背景城市,其余城市可参照修改同样适用。本系统不仅能给广大熟悉淮安路线的本地市民提供便利,更加能为其他来到淮安出差、旅游的朋友带来方便。开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理,提高服务质量,方便乘客查询。本系统采用结构化设计的方法以实现系统总体功能,即将整个系统划分为各个功能模块,正确处理模块之间和模块内部的联系以及和数据库的联系,通过对各模块的设计和模块之间关系的安排;来系统实现整个系统的功能。前台主要有 4 个模块:换乘查询、线路
13、查询、站点查询、评价统计,后台管理模块则通过管理员登录后分别实现对站点、线路的添加、删除、修改。前台主要向用户提供换乘查询、车次查询、站点查询等查询方式,具体实现如下功能:1.换乘查询:输入起始站名与终点站名,系统会输出所有的公交路线方案;2.车次查询:输入已知的车次,系统会输出该车次经过的所有站点名;3.站点查询:输入已知的站点名,系统会输出经过该站点的所有车次。数据库会提供给用户全部的信息,用户可以根据自己的实际情况进行选择,另外,用户可以在系统左下角的评价栏投出自己宝贵的一票,系统将对结果进行统计分析,实现用户与公交公司的良好互动。后台由管理员输入其指定账号与密码对数据库进行管理,实现站
14、点的添加、删除、修.精选 doc 最新版改,线路的添加、删除、修改。系统模块如图 3-1 所示:图 3-1 系统模块图4 4设计准备设计准备4.14.1功能模块划分功能模块划分通过需求分析,可以确定该系统应完成的功能包括:1.前台功能:主要实现乘客对车辆信息的查询,包括站点间换乘查询、车次查询、站点查询;其次通过评价统计来实现乘客与公交公司的互动。2.后台功能:主要实现公交公司管理员对车辆信息的维护,包括线路信息的添加、删除、修改和站点信息的添加、删除、修改。4.24.2数据库设计数据库设计通过需求分析,本系统在概要设计阶段得到五个数据实体:公交车次、公交站点、公交线路、管理员、评价。这些实体
15、的属性均按照用户需求中的输入输出数据设定,故应该根据这五个实体设计五种类型的数据库表:公交车次表、公交站点表、不同车次线路表、管理员表、评价统计表。4.2.14.2.1数据库概念结构设计数据库概念结构设计所谓概念结构设计,就是将需求分析得到的用户需求抽象为信息结构。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定,它是整个数据库的关键。概念结构设计的特点:.精选 doc 最新版1.能真实、充分地反映现实世界,是对现实世界的一个真实模型。2.易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成果的关键。3.易于更改,当应用环境和应用要
16、求改变时,容易对概念模型修改和扩充。4.易于向关系、网状、层次等各种数据模型转换。在系统设计的开始,首先应该考虑如何用数据模型来描述数据库的结构和语义,以对现实世界进行抽象。“实体联系模型”(E-R 模型)独立于计算机系统用的较为广泛,本系统也充分应用了它。E-R 模型直接从现实世界抽象出实体类型及实体间联系,然后用 E-R图来表示数据模型。它更接近人都思维,容易理解;与计算机无关,用户更容易接受,但它只是数据库设计的第一步。E-R 图是直观表示概念模型的工具,它有三个基本成分:1.矩形框,表示实体类型(考虑问题的对象)。2.菱形框,表示联系类型(实体间的联系)。3.椭圆形框,表示实体的属性。
17、该系统实体和属性的定义如下:管理员表 E-R 图(登录 ID,登录姓名,登录密码)图 4-1管理员表 E-R 图各站集合表 E-R 图(站名 ID,站名)图 4-2各站集合表 E-R 图各条线路表 E-R 图(站名 ID,次序,站名).精选 doc 最新版图 4-3各条线路表 E-R 图各条线路集表 E-R 图(车辆 ID,车次,始发站,末站,运行区间,线路描述,IC 卡类型,票价,首班车时间,服务类型,末班车时间)图 4-4各条线路集表 E-R 图评价表 E-R 图(评价程度,票数)图 4-5评价表 E-R 图4.2.24.2.2数据库逻辑结构设计数据库逻辑结构设计本系统采用 Microso
18、ft SQL Server 2005 数据库管理系统,该系统不仅能满足最大的数据处理系统和商业 Web 站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。之所以使用 Microsoft SQL Server 2005 就是因为它是一个企业级的集成商业智能的全面的数据库平台,Microsoft SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使设计者可以构建和管理用于业务的高可用和高性能的数据应用程序。.精选 doc 最新版本系统创建的 SQL 数据库名称为城市公交查询系统,并将数据文件和日志文件保存在APP_DATA 文件夹中。此数
19、据库包含 5 类表,分别是管理员表、各站集合表、各条线路表、各条线路集合表、评价表。(1)管理员表管理员表存放管理员登录系统所需要的用户名和密码,管理员登录后台时需要访问此表。表 4-1管理员表字段名AdminIdAdminNameAdminPassword数据类型intnchar(3)nchar(6)长度32020是否允许空否否否是否为主键是否否说明登录 ID登录姓名登录密码(2)各站集合表各站点集合表存放所有站点名、编号及描述,此表中的站点是各条线路表中的站点的集合即所有线路中的站点。表 4-2各站集合表字段名SiteIDSiteNameSiteDescribe数据类型intnchar(1
20、0)nchar(50)长度101050是否允许空否否是是否为主键否否否说明站点 ID站点名站点描述(3)各条线路表各条线路表是存放各线路信息的表。表 4-3各条线路表字段名SiteIdSiteNameSiteDescribecixu数据类型intnchar(10)nchar(50)int长度1010505是否允许空否否是否是否为主键否否否否说明站点 ID站名站点描述线路中站点次序(4)各条线路集合表各条线路集合表是所有线路的集合表,存储了所有线路的 ID 和一些基本信息。.精选 doc 最新版表 4-4各条线路集合表字段名LineIdLineNameLineAreaLinePriceLineS
21、tartPlaceLineEndPlacenchar(10)101010580否否否否是否否否否否末站早班车时间末班车时间IC 卡类型线路描述数据类型intnchar(10)nchar(10)nchar(10)nchar(10)长度1010101010是否允许空否否否否否是否为主键是否否否否说明线路 ID线路名称线路区间票价始发站LineStartTimenchar(10)LineEndTimeLineICLineDescribenchar(10)bitnchar(80)(5)评价表评价表用于用户对本系统的评价统计,存储不同评价的票数,饼图统计时调用这张表。表 4-5评价表字段名评价程度票数数
22、据类型nchar(10)int长度105是否允许空否是是否为主键是否说明评价程度票数5 5详细设计与实现详细设计与实现5.15.1关于数据库操作关于数据库操作在动态网站中,调用数据库中的数据是十分频繁的,为了数据库的安全性,本程序将所有数据库的操作封装到 DBConnect 类中并放于 DBConnect.cs 文件中。开发人员在实现其他功能时,可以在此类中写函数然后调用,避免零散的重复的操作数据库。本系统的数据库的连接代码如下:public static SqlConnection createConnection()SqlConnectioncon=newSqlConnection(Dat
23、aSource=SUNNANYUN;InitialCatalog=Bus;Integrated Security=True);return con;为了不反复的访问数据库,记录了一些基本信息,声明了以下成员变量:private int SiteCount;/记录站点的总个数.精选 doc 最新版 private int LineCount;/记录线路的总个数 private int line;/保存每条线路5.25.2功能实现功能实现5.2.15.2.1主界面主界面任意乘客、用户都可以登录这个公交查询系统的主界面进行查询。该界面简洁、方便,一目了然的可以进入三大主要查询模块、管理员登录模块、评
24、价模块,为各类用户提供便利。主界面见下图 5-1:图 5-1主界面图5.2.15.2.1站点查询站点查询任意用户登录该公交查询网站均可进行站点查询。用户需输入站点全称,点击查询按钮后,系统会在数据库中检测该站点是否存在,如果存在,将显示经过该站点所有的公交线路情况,如果不存在将提示该站点不存在。.精选 doc 最新版该站点查询界面如图 5-2 所示:图 5-2站点查询图该功能的实现,从 textbox 获取站点名称 sitename,获取到 sitename 后,首先查询站点总表里是否存在该站点,若不存在,则count 赋值为 0,显示提示信息。若存在站点,则遍历所有的线路表查找站点,若某路线
25、存在该站点,则记录该线路,存于数组 Line。count用于统计经过该站点的线路的个数。ref 关键字使参数 count 按引用传递。其效果是,当控制权传递回调用方法时,在方法中的 count 所做的任何更改都将反映在该变量中。主要实现代码如下:public void GetSiteLine(string Line,string sitename,ref int count)SqlConnection cn=createConnection();cn.Open();string str=select count(*)from site where sitename=+sitename+;Sql
26、Command cmd=new SqlCommand(str,cn);if(Convert.ToInt32(cmd.ExecuteScalar().ToString()=0)count=0;cn.Close();else int i=0;for(int j=0;j 0)Linei+=linej.ToString();count=i;cn.Close();.精选 doc 最新版5.2.25.2.2线路查询线路查询任意用户登录该公交查询网站均可进行线路查询。用户可以在下拉列表显示的所有线路中找到自己想查询的线路,点击查询,系统就会显示该线路去程、回程及一些相关信息。该线路查询界面如图 5-3 所示
27、:图 5-3线路查询图该功能的实现,首先从 dropdownlist 获取线路名称 linename,然后从线路集合表中获取该线路的信息存于数组 sLineTotal中,并通过线路集合表 LineID,获取该路线的所有站点,存于数组 line 中,count 用于统计该线路所有站点的个数。主要实现代码如下:public void GetLine(string sLineTotal,string line,string linename,ref int count)SqlConnection cn=createConnection();cn.Open();string str=select*fr
28、om linetotal where linename=+linename+;SqlCommand cmd=new SqlCommand(str,cn);SqlDataReader reader=cmd.ExecuteReader();if(reader.HasRows)/从 linetotal 中获取信息 if(reader.Read()sLineTotal0=reader.GetValue(0).ToString().Trim();sLineTotal1=reader.GetValue(1).ToString().Trim();sLineTotal2=reader.GetValue(2).
29、ToString().Trim();sLineTotal3=reader.GetValue(3).ToString().Trim();.精选 doc 最新版 sLineTotal4=reader.GetValue(4).ToString().Trim();sLineTotal5=reader.GetValue(5).ToString().Trim();sLineTotal6=reader.GetValue(6).ToString().Trim();sLineTotal7=reader.GetValue(7).ToString().Trim();sLineTotal8=reader.GetVal
30、ue(8).ToString().Trim();sLineTotal9=reader.GetValue(9).ToString().Trim();reader.Close();cmd.CommandText=selectsitenamefromsLineTotal0.ToString().Trim()+;reader=cmd.ExecuteReader();if(reader.HasRows)/从具体的公交线路中获取站点顺序信息 int n=0;while(reader.Read()linen+=reader.GetValue(0).ToString().Trim();count=n;else
31、 cn.Close();Line+5.2.35.2.3换乘查询换乘查询任意用户登录该公交查询网站均可进行换乘查询。用户可输入出发站和到达站,系统会检测是否存在该站点,若存在则会检测这两个站点是否有直达车,如果没有则会进行一次换乘。该换乘查询界面如图 5-4 所示:.精选 doc 最新版图 5-4换乘查询图该功能首先从 textbox 里获取出发站点名 StartSite 和到达站点名 EndSite,然后判断是否存在这两个站点,若不存在,则给出提示,否则,分别搜索包含 StartSite、EndSite的路线存于临时数组 StartSiteLineId 和 EndSiteLineId 中。分两
32、种情况讨论,1.直达,遍历两条线路的所有组合,判断,如果存在路线相同的,则表示可直达。2.需换乘一次,在遍历两条线路的所有组合的前提下,若经过 StartSite 的路线中有和经过 EndSite 的路线有相同的站点,则表示可换乘一次到达。主要实现代码如下:/count 用于记录方案个数 其中-1 表示不存在 StartSite 站点,-2 表示不存在 EndSite-3 表示直达/Linem,m 是表示换成的方案个数的,Linem,0 车次 1,Linem,1 StartSite 到中转站点的站数,Linem,2中转站点,Linem,3车次 2,Linem,4中转站点到 EndSite 的站
33、数public void GetSiteLineHuanCheng(string,Line,string StartSite,string EndSite,refint count)int StartSiteLineId=new int21;/记录包含 StartSite 的路线 int EndSiteLineId=new int21;/记录包含 EndSite 的路线 SqlConnection cn=createConnection();cn.Open();/判断是否存在 StartSite 站点 string str=select count(*)from site where site
34、name=+StartSite+;SqlCommand cmd=new SqlCommand(str,cn);if(Convert.ToInt32(cmd.ExecuteScalar().ToString()=0)count=-1;cn.Close();return;/判断是否存在 EndSite 站点 cmd.CommandText=select count(*)from site where sitename=+EndSite+;.精选 doc 最新版 if(Convert.ToInt32(cmd.ExecuteScalar().ToString()=0)count=-2;cn.Close
35、();return;/搜索包含 StartSite 的路线 int i=0;int j=0;for(j=0;j 0)StartSiteLineIdi+=linej;StartSiteLineIdi=-1;/用于终止判断 /搜索包含 EndSite 的路线 i=0;j=0;for(j=0;j 0)EndSiteLineIdi+=linej;EndSiteLineIdi=-1;/用于终止判断 /当两个站点处于同一条路线时,即直达 for(i=0;i 20&StartSiteLineIdi!=-1;i+)for(j=0;j 20&EndSiteLineIdj!=-1;j+)if(StartSiteL
36、ineIdi=EndSiteLineIdj)count=-3;Line0,0=StartSiteLineIdi.ToString().Trim();/记录第几路车 cmd.CommandText=select cixu from Line+Line0,0+whereSiteName=+EndSite+;/获得 EndSite 的次序 int end=Convert.ToInt32(cmd.ExecuteScalar().ToString();cmd.CommandText=select cixu from Line+Line0,0+whereSiteName=+StartSite+;/获得 S
37、tartSite 的次序 int start=Convert.ToInt32(cmd.ExecuteScalar().ToString();Line0,1=Math.Abs(end-start).ToString();cn.Close();return;.精选 doc 最新版 int k=0;/用于记录当前的方案个数,用于数组Linek,/用于判断换乘的,换乘一次 for(i=0;i 20&StartSiteLineIdi!=-1&k 8;i+)int startsite=new int35;/用于记录每条路线的站点id cmd.CommandText=select siteid from L
38、ine+StartSiteLineIdi+;SqlDataReader reader=cmd.ExecuteReader();if(reader.HasRows)int num=0;while(reader.Read()startsitenum+=Convert.ToInt32(reader.GetValue(0).ToString().Trim();startsitenum=-1;reader.Close();for(j=0;j 20&EndSiteLineIdj!=-1&k 8;j+)int endsite=new int35;/用于记录每条路线的站点id cmd.CommandText=
39、select siteid from Line+EndSiteLineIdj+;reader=cmd.ExecuteReader();if(reader.HasRows)int num=0;while(reader.Read()endsitenum+=Convert.ToInt32(reader.GetValue(0).ToString().Trim();endsitenum=-1;reader.Close();int Logo=0;/用来控制下面两个循环的 /寻找两条线路中两条线路的相同站点 for(int m=0;m 35&startsitem!=-1&Logo=0;m+)for(int
40、n=0;n 35&endsiten!=-1&Logo=0;n+)if(startsitem=endsiten)cmd.CommandText=selectcixufromLine+StartSiteLineIdi+where sitename=+StartSite+;int start=Convert.ToInt32(cmd.ExecuteScalar().ToString();cmd.CommandText=select cixu from Line+EndSiteLineIdj+where sitename=+EndSite+;int end=Convert.ToInt32(cmd.Exe
41、cuteScalar().ToString();cmd.CommandText=select sitename from site where siteid=.精选 doc 最新版+startsitem+;Linek,0=StartSiteLineIdi.ToString();Linek,1=Math.Abs(m+1-start).ToString();/m+1就相当于是这点的次序 Linek,2=cmd.ExecuteScalar().ToString().Trim();Linek,3=EndSiteLineIdj.ToString();Linek,4=Math.Abs(n+1-end).T
42、oString();Logo=1;/跳出上面两个循环 k+;/end for /end for(j=0;j 20&EndSiteLineIdj!=-1;j+)/end for(i=0;i 0).精选 doc 最新版 return true;else return false;5.3.25.3.2添加、修改、删除站点添加、修改、删除站点对于新出现的一些站点,本系统具有添加功能,对于旧站点更名后的修改,本系统具有修改功能,对于旧站点的废除,本系统具有删除功能。管理员登录后台后,可以通过添加、修改、删除操作对各站点集合的表进行管理。三个功能的界面相似,只贴出添加界面,界面如下图 5-6 所示:图 5
43、-6添加站点图1.站点添加功能将输入 textbox 的站名存入数组 name、站点描述存入数组 SiteDescribe,然后添加到总站点表中,同时记录站点总个数的变量 SiteCount 要+1。实现的主要代码如下:public bool ZhandianAdd(string name,string SiteDescribe)SqlConnection cn=createConnection();cn.Open();SiteCount+;SqlCommand cmd=new SqlCommand(insert into Site(SiteID,SiteName,SiteDescribe)v
44、alues(+SiteCount+,+name+,+SiteDescribe+),cn);if(cmd.ExecuteNonQuery()0)cn.Close();return true;else SiteCount-;cn.Close();return false;return false;.精选 doc 最新版2.删除站点功能将 textbox 中输入的信息存入数组 name 中,从站点总表中删除该站点,SiteCount 要-1,同时遍历所有线路表,若表中含有该站点也要删除,具体代码如下:public bool DeleteZhandian(string name)SqlConnecti
45、on cn=createConnection();cn.Open();SqlCommand cmd=new SqlCommand(delete from Site where SiteName=+name+,cn);if(cmd.ExecuteNonQuery()0)SiteCount-;for(int j=0;j 0)for(int j=0;j LineCount;j+)cmd.CommandText=update Site set SiteName=+newname+whereSiteName=+oldname+;cmd.ExecuteNonQuery();cn.Close();retur
46、n true;.精选 doc 最新版 else cn.Close();return false;return false;5.3.35.3.3添加、修改、删除车次添加、修改、删除车次对于新出现的一些车次,本系统具有添加功能;对于旧车次更改后的修改,本系统具有修改功能;对于旧站点的废除,本系统具有删除功能。管理员登录后台后,可以通过添加、修改、删除操作对各车次的表进行管理。添加、修改车次的界面相似,只贴出添加车次的界面,界面如下图 5-7 所示:图 5-7添加车次图1.添加车次用 string addcheci 保存界面上输入的一些信息,包括车次 ID,运行区间,服务类型,IC 卡类型,票价,首
47、末班车时间,途经站点等等,然后传入数据库的添加车次函数,完成添加功能。数据库添加时,首先在 LineTotal 中添加车次信息,然后建表,存储站点.精选 doc 最新版次序等信息。其中若要添加的站点在 Site 表中没有,还要进行站点添加操作,保持站点一致。站点的添加操作是动态的,在途经站点输入要添加的站点名,点击“添加”按钮,则下方会动态显示站点,直到按确定键完成添加操作。/“添加”按钮功能static int nLabelCount=5;/static是关键,每次触发一个时间页面都会刷新一次,变量会重新赋值,但是 static 修饰的变量可以直到页面结束,生命周期才结束,这样可以用来动态显
48、示输入的站点 protected void Button1_Click(object sender,EventArgs e)if(TextBox5.Text=)Page.RegisterStartupScript(alert,alert(添加站点失败!););else string sLabel1=Label+nLabelCount;nLabelCount+;string sLabel2=Label+nLabelCount;nLabelCount+;Label label1=(Label)this.FindControl(sLabel1);/可以根据空间名字找到对应的控件,方便我显示内容 La
49、bel label2=(Label)this.FindControl(sLabel2);label1.Visible=true;label2.Visible=true;label1.Text=this.TextBox5.Text.ToString().Trim();label2.Text=-;/车次添加public bool AddCheci(string addcheci)SqlConnection cn=createConnection();cn.Open();string str=select*from LineTotal where lineid=+addcheci0+;SqlComm
50、and cmd=new SqlCommand(str,cn);if(cmd.ExecuteScalar()=null)bool b=true;str=insert into LineTotal values(+addcheci0+,+addcheci0+路,+addcheci1+,+addcheci2+,+addcheci3+,+addcheci4+,+addcheci5+,+addcheci6+,+b+,);cmd.CommandText=str;int num=cmd.ExecuteNonQuery();if(num 0)str=create table Line+addcheci0+.精