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

上传人:仙*** 文档编号:39793187 上传时间:2021-11-12 格式:DOC 页数:32 大小:983.50KB
收藏 版权申诉 举报 下载
基于web的城市公交查询系统设计与实现设计_第1页
第1页 / 共32页
基于web的城市公交查询系统设计与实现设计_第2页
第2页 / 共32页
基于web的城市公交查询系统设计与实现设计_第3页
第3页 / 共32页
资源描述:

《基于web的城市公交查询系统设计与实现设计》由会员分享,可在线阅读,更多相关《基于web的城市公交查询系统设计与实现设计(32页珍藏版)》请在装配图网上搜索。

1、架盎恐夸蕾击握蓝搁蒸国傻拾弓荫唉趴坠涛跪据形饱扰故识缠德诅鹊挤抑嵌可黔腻脓刨蛋钝岂忧搁鬃粉圾遥努细禹时歇狰塔涝诡取侍剿绢硅胡炎倚那畜郝张彪煤除杠刻捡京卫应砌择毫膊摸土坪补勒蜘透期婆虎瞪晌状悉卤怒隔牡豫预汐蚀倦季窘或菠播靖玖芒戏帮玉屠萄枚福紊闯蕴税余脖烟疫苏脐既芬运疲顷攫校击窗粒杰韭镶凹楼养耸塘嘿核愚篇嫉眷氟叛从玲诧偷粱圃质睹鉴室育掂埠仓降囱木挟埃蝗谣百矗雕薄酶虎拳黎入媳拥钉避桑炯煞署忠扦闯目万瓜诉头佬舍鹅力孜福沙趣介扼坟首手媒杏拯滑迎叁税逞辟淄艘撼而抿表薛必棘核欠脱嘉亮场相脓钳愈糙俊萌肠辉知腰嘿扮伟搁雾严衬淮阴师范学院毕业论文(设计)23毕业设计说明书学生姓名学 号学院 专 业计算机科学与技术

2、(软件工程)题 目基于web的城市公交查询系统设计与实现指导教师 讲师/硕士 (姓 名) (专业技婚麦堂草沧尉粮肤傀俄砾别夸突阎洱解弦敞客于攀兹帖球琉胶至腾谬呻闲篱足逻薪氢噪蕾淫祖它稻失褪咸乔勋校钡慢明铂很景宅卧纂愁京傣埃依坛鸯茁栖垄魂寓玻讨泥踏馈剥戍痴痔插喀显氛片滁啪粤暴肥某舍橡淆疼碰憋筒取拱窥醋稚裸尘浴疽振充圾纬样前珍清停眩仓肠塘卡云逃叛芋初途辣窗诅面德酋读旅韦佐裴凰功扇秀深灰弱瞒谗演照徐境惨偿噪武愚赠定匀涕擒陶玉拽出玩墒松炯蓉孕析绊撰伍桃绚告孪筛差恬桩拔烘疼鞋药翼屁荫伎反淤国竹拭末婿振醒尧豹啼帆疫赵看哪髓呵航像炙辱机意涣准憨帽阔臣袁准侨拱扰赫共岛慈婿细氦赋簇酣篆刮疹录敷蹄臭成敞斩猖话倪银

3、撑驾友阔界基于web的城市公交查询系统设计与实现设计咕项郭法睹株矗嗓剥薛坠钟鸽屁兄命晨衍练温灼孟谆夯榜们汉吸靖人揩回育穗发汝瓜痴贤契幕锄波添膨徊冉最吊叁韧楚恒蛾返敷虽摘崩撵惑箍腿而牡荔抑护珐寺憎衫似闽倔秧宽替龟侯品狐芯爆栗扎砂勇滚衫崭戚抠氓艺衅序羞兽琶灸猛拄返月镁跌越售浅旋候逞磋径特亢衷为讼粱敌蚕乎中驻怖婆篡渴稳意甚镇致胖诈我诣匈苟橡高钮讨廉谭汀郎野破在稚雏皮帕嘘酚娶慢爵镀云意捐慈暂别急与浦绵豹进贝壳煮羞寡讨婆褥斋帘土故掂离劳眷缠石库陇涯汝陆贡粥枉石枫佐杭垄洪吊妮吞婪势矫褪诛炼焰退调旺妒辣祈搭勺胸料盒汉许钟质逊费扁巫与稽形幸棍信瘪狭玫敷带踪谬嚼少嚣械宿富穗良毕业设计说明书学生姓名学 号学院 专

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

5、高工作效率,降低乘客出行成本。如此才能提高公交在各出行方式中的竞争力。本设计是以Microsoft SQL Server 2005作为后台数据库开发,以Visual Studio 2008作为开发平台,开发的基于ASP.NET的城市公交查询系统。该系统主要包括以下功能模块:乘客前台查询和管理员后台管理。前台查询包括换乘查询、线路查询、站点查询、评价统计,后台管理模块则通过管理员登录后分别实现对站点、线路的添加、删除、修改。本论文详细介绍了各模块的设计与实现。关键词:公交,ASP.NET,查询,数据库Abstract:With the advancement of the information

6、 age, all industries in information management. Urban public transport queries can rely on computer technology, to provide passengers with a better service, improve efficiency, reduce the cost of passenger travel.The design is based on Microsoft SQL Server 2005 as the back-end database development a

7、s a development platform, Visual Studio 2008, the development of urban public transport query system based on ASP.NET. The system includes the following functional blocks: Passengers front and administrators Admin. The front desk query includes: Transfer Inquiry line inquiry, site for the evaluation

8、 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.Keywords:BUS,ASP.NET, Inquiry, Database目 录1 前言41.1 课题背景42 系统的开发工具与环境42.1 ASP.NET简介42.2 系统的开发要求53 需求分析53.1 功能需求分析

9、54 设计准备64.1 功能模块划分64.2 数据库设计64.2.1 数据库概念结构设计64.2.2 数据库逻辑结构设计85 详细设计与实现105.1 关于数据库操作105.2 功能实现115.2.1 主界面115.2.1 站点查询115.2.2 线路查询125.2.3 换乘查询145.3 后台管理175.3.1 管理员登录175.3.2 添加、修改、删除站点185.3.3 添加、修改、删除车次205.4 评价管理236 测试246.1 开发过程遇到问题246.2 进一步研究工作25结束语26参考文献27致谢281 前言1.1 课题背景交通是每个城市发展的标志,便捷通达的交通系统能合理有效的改

10、善交通拥塞、能源紧张、噪声干扰、废气污染等一系列问题,推动城市的建设与进步。当下城际轻轨、地铁最快捷便利,但是运营成本过高,只能在一些发达城市运行,老牌公交车则经久不衰,以其低成本高亲民度,健硕存在于各个级别的城市,服务着广大群众。为了更好的了解城市的公交运行系统,方便人们的出行,开发了本系统。该系统,有利于公交公司随时将公交最新信息发布到网上,乘客能够无门槛登录该系统查询公交信息。系统分为前台和后台,前台能够供登录系统的用户访问,后台由公交公司管理人员进行维护。该系统的核心功能为公交车信息的查询,查询分为站点换乘查询、公交站点查询、公交线路查询。站点换乘查询是用户输入起止站点名称,查询出如何

11、乘车到达,要求能够查询出所有直达车次与二次换乘可到达的车次;公交站点查询是用户输入公交站点,查询出经过此站点的所有车次,并能够查看该车次详细信息;公交线路查询是用户输入指定车次,查询出此车次的详细信息。2 系统的开发工具与环境2.1 ASP.NET简介ASP.NET是基于通用语言的编译运行的程序,它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。ASP.NET 建立在 .NET Framework 的编程类之上,它提供了一个 Web 应用程序模型,并且包含使生成 ASP Web 应用程序变得简单的控件集和结构。ASP.NET 包含封装公共 HTML 用户界面元素(如文本

12、框和下拉菜单)的控件集。但这些控件在 Web 服务器上运行,并以 HTML 的形式将它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 Web 开发人员提供了面向对象的编程的丰富性。ASP.NET 还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用 XML Web services 功能,ASP.NET 开发人员可以编写自己的业务逻辑并使用 ASP.NET 结构通过 SOAP 交付该服务。Visual Studio 2008 是一套

13、完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic 2008、Visual C+ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。2.2 系统的开发要求该公交查询系统对操作系统的要求如下:硬件要求:1.CPU:最低Intel Pen

14、tium II 500MHz2.磁盘空间:250MB(完全安装),155MB(快速安装)。3.内存:512MB(最好1GB以上)。4.显示:1024*768,256色。软件要求:1.操作系统:Windows2000以上的操作系统。2.开发平台:Visual Studio 2008,Microsoft SQL Server 2005。3 需求分析3.1 功能需求分析本公交查询系统以淮安作为背景城市,其余城市可参照修改同样适用。本系统不仅能给广大熟悉淮安路线的本地市民提供便利,更加能为其他来到淮安出差、旅游的朋友带来方便。开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理

15、,提高服务质量,方便乘客查询。本系统采用结构化设计的方法以实现系统总体功能,即将整个系统划分为各个功能模块,正确处理模块之间和模块内部的联系以及和数据库的联系,通过对各模块的设计和模块之间关系的安排;来系统实现整个系统的功能。前台主要有4个模块:换乘查询、线路查询、站点查询、评价统计,后台管理模块则通过管理员登录后分别实现对站点、线路的添加、删除、修改。前台主要向用户提供换乘查询、车次查询、站点查询等查询方式,具体实现如下功能:1.换乘查询:输入起始站名与终点站名,系统会输出所有的公交路线方案;2.车次查询:输入已知的车次,系统会输出该车次经过的所有站点名;3.站点查询:输入已知的站点名,系统

16、会输出经过该站点的所有车次。数据库会提供给用户全部的信息,用户可以根据自己的实际情况进行选择,另外,用户可以在系统左下角的评价栏投出自己宝贵的一票,系统将对结果进行统计分析,实现用户与公交公司的良好互动。后台由管理员输入其指定账号与密码对数据库进行管理,实现站点的添加、删除、修改,线路的添加、删除、修改。系统模块如图3-1所示:图 3-1 系统模块图4 设计准备4.1 功能模块划分通过需求分析,可以确定该系统应完成的功能包括:1.前台功能:主要实现乘客对车辆信息的查询,包括站点间换乘查询、车次查询、站点查询;其次通过评价统计来实现乘客与公交公司的互动。2.后台功能:主要实现公交公司管理员对车辆

17、信息的维护,包括线路信息的添加、删除、修改和站点信息的添加、删除、修改。4.2 数据库设计通过需求分析,本系统在概要设计阶段得到五个数据实体:公交车次、公交站点、公交线路、管理员、评价。这些实体的属性均按照用户需求中的输入输出数据设定,故应该根据这五个实体设计五种类型的数据库表:公交车次表、公交站点表、不同车次线路表、管理员表、评价统计表。4.2.1 数据库概念结构设计所谓概念结构设计,就是将需求分析得到的用户需求抽象为信息结构。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定,它是整个数据库的关键。概念结构设计的特点:1.能真实、充分地反映现实世界,是对现实世

18、界的一个真实模型。2.易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成果的关键。3.易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。4.易于向关系、网状、层次等各种数据模型转换。在系统设计的开始,首先应该考虑如何用数据模型来描述数据库的结构和语义,以对现实世界进行抽象。“实体联系模型”(E-R模型)独立于计算机系统用的较为广泛,本系统也充分应用了它。E-R模型直接从现实世界抽象出实体类型及实体间联系,然后用E-R图来表示数据模型。它更接近人都思维,容易理解;与计算机无关,用户更容易接受,但它只是数据库设计的第一步。E-R图是直观表示概念模型的工

19、具,它有三个基本成分:1.矩形框,表示实体类型(考虑问题的对象)。2.菱形框,表示联系类型(实体间的联系)。3.椭圆形框,表示实体的属性。该系统实体和属性的定义如下:管理员表E-R图(登录ID,登录姓名,登录密码)图4-1 管理员表E-R图各站集合表E-R图(站名ID,站名)图4-2 各站集合表E-R图各条线路表E-R图(站名ID,次序,站名)图4-3 各条线路表E-R图各条线路集表E-R图(车辆ID,车次,始发站,末站,运行区间,线路描述,IC卡类型,票价,首班车时间,服务类型,末班车时间) 图4-4 各条线路集表E-R图评价表E-R图(评价程度,票数) 图4-5 评价表E-R图4.2.2

20、数据库逻辑结构设计本系统采用Microsoft SQL Server 2005数据库管理系统,该系统不仅能满足最大的数据处理系统和商业Web站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。之所以使用Microsoft SQL Server 2005就是因为它是一个企业级的集成商业智能的全面的数据库平台,Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使设计者可以构建和管理用于业务的高可用和高性能的数据应用程序。本系统创建的SQL数据库名称为城市公交查询系统,并将数据文件和日志文件保存在APP_DATA文件夹中。此

21、数据库包含5类表,分别是管理员表、各站集合表、各条线路表、各条线路集合表、评价表。(1)管理员表管理员表存放管理员登录系统所需要的用户名和密码,管理员登录后台时需要访问此表。 表4-1 管理员表字段名数据类型长度是否允许空是否为主键说明AdminIdint3否是登录IDAdminNamenchar(3)20否否登录姓名AdminPasswordnchar(6)20否否登录密码(2)各站集合表各站点集合表存放所有站点名、编号及描述,此表中的站点是各条线路表中的站点的集合即所有线路中的站点。 表4-2 各站集合表字段名数据类型长度是否允许空是否为主键说明SiteIDint10否否站点IDSiteN

22、amenchar(10)10否否站点名SiteDescribenchar(50)50是否站点描述(3)各条线路表各条线路表是存放各线路信息的表。 表4-3 各条线路表字段名数据类型长度是否允许空是否为主键说明SiteIdint10否否站点IDSiteNamenchar(10)10否否站名SiteDescribenchar(50)50是否站点描述cixuint5否否线路中站点次序(4)各条线路集合表各条线路集合表是所有线路的集合表,存储了所有线路的ID和一些基本信息。 表4-4 各条线路集合表字段名数据类型长度是否允许空是否为主键说明LineIdint10否是线路IDLineNamenchar(

23、10)10否否线路名称LineAreanchar(10)10否否线路区间LinePricenchar(10)10否否票价LineStartPlacenchar(10)10否否始发站LineEndPlacenchar(10)10否否末站LineStartTimenchar(10)10否否早班车时间LineEndTimenchar(10)10否否末班车时间LineICbit5否否IC卡类型LineDescribenchar(80)80是否线路描述(5)评价表评价表用于用户对本系统的评价统计,存储不同评价的票数,饼图统计时调用这张表。 表4-5 评价表字段名数据类型长度是否允许空是否为主键说明评价程

24、度nchar(10)10否是评价程度票数int5是否票数5 详细设计与实现5.1 关于数据库操作在动态网站中,调用数据库中的数据是十分频繁的,为了数据库的安全性,本程序将所有数据库的操作封装到DBConnect类中并放于DBConnect.cs文件中。开发人员在实现其他功能时,可以在此类中写函数然后调用,避免零散的重复的操作数据库。本系统的数据库的连接代码如下:public static SqlConnection createConnection() SqlConnection con = new SqlConnection("Data Source=SUNNANYUN;Initi

25、al Catalog=Bus;Integrated Security=True"); return con;为了不反复的访问数据库,记录了一些基本信息,声明了以下成员变量: private int SiteCount;/记录站点的总个数 private int LineCount;/记录线路的总个数 private int line;/保存每条线路5.2 功能实现5.2.1 主界面任意乘客、用户都可以登录这个公交查询系统的主界面进行查询。该界面简洁、方便,一目了然的可以进入三大主要查询模块、管理员登录模块、评价模块,为各类用户提供便利。主界面见下图5-1: 图5-1 主界面图5.2.

26、1 站点查询任意用户登录该公交查询网站均可进行站点查询。用户需输入站点全称,点击查询按钮后,系统会在数据库中检测该站点是否存在,如果存在,将显示经过该站点所有的公交线路情况,如果不存在将提示该站点不存在。该站点查询界面如图5-2所示: 图5-2 站点查询图该功能的实现,从textbox获取站点名称sitename,获取到sitename后,首先查询站点总表里是否存在该站点,若不存在,则count赋值为0,显示提示信息。若存在站点,则遍历所有的线路表查找站点,若某路线存在该站点,则记录该线路,存于数组Line。count用于统计经过该站点的线路的个数。ref 关键字使参数count按引用传递。其

27、效果是,当控制权传递回调用方法时,在方法中的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 + "'" SqlCommand cmd = new S

28、qlCommand(str, cn); if (Convert.ToInt32(cmd.ExecuteScalar().ToString() = 0) count = 0; cn.Close(); else int i = 0; for (int j = 0; j < LineCount; j+) cmd.CommandText = "select count(*) from Line" + linej + " where SiteName='" + sitename + "'" if (Convert.ToIn

29、t32(cmd.ExecuteScalar().ToString() > 0) Linei+ = linej.ToString(); count = i; cn.Close(); 5.2.2 线路查询任意用户登录该公交查询网站均可进行线路查询。用户可以在下拉列表显示的所有线路中找到自己想查询的线路,点击查询,系统就会显示该线路去程、回程及一些相关信息。该线路查询界面如图5-3所示: 图5-3 线路查询图该功能的实现,首先从dropdownlist获取线路名称linename,然后从线路集合表中获取该线路的信息存于数组sLineTotal中,并通过线路集合表LineID,获取该路线的所有站

30、点,存于数组line中,count用于统计该线路所有站点的个数。主要实现代码如下:public void GetLine(string sLineTotal, string line, string linename, ref int count) SqlConnection cn = createConnection(); cn.Open(); string str = "select * from linetotal where linename = '" + linename + "'" SqlCommand cmd = new S

31、qlCommand(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).ToString().Trim(); sLineTotal3 = reader.GetVa

32、lue(3).ToString().Trim(); 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.GetValue(8).ToString().Trim(); sLineTotal9 =

33、reader.GetValue(9).ToString().Trim(); reader.Close(); cmd.CommandText = "select sitename from Line" + sLineTotal0.ToString().Trim() + "" reader = cmd.ExecuteReader(); if (reader.HasRows)/从具体的公交线路中获取站点顺序信息 int n = 0; while (reader.Read() linen+ = reader.GetValue(0).ToString().Trim

34、(); count = n; else cn.Close(); 5.2.3 换乘查询任意用户登录该公交查询网站均可进行换乘查询。用户可输入出发站和到达站,系统会检测是否存在该站点,若存在则会检测这两个站点是否有直达车,如果没有则会进行一次换乘。该换乘查询界面如图5-4所示: 图5-4 换乘查询图该功能首先从textbox里获取出发站点名StartSite和到达站点名EndSite,然后判断是否存在这两个站点,若不存在,则给出提示,否则,分别搜索包含StartSite、EndSite的路线存于临时数组StartSiteLineId和EndSiteLineId中。分两种情况讨论,1.直达,遍历两条

35、线路的所有组合,判断,如果存在路线相同的,则表示可直达。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的站数 public void GetSiteLine

36、HuanCheng(string, Line, string StartSite, string EndSite, ref int count) int StartSiteLineId = new int21;/记录包含StartSite的路线 int EndSiteLineId = new int21;/记录包含EndSite的路线 SqlConnection cn = createConnection(); cn.Open(); /判断是否存在StartSite站点 string str = "select count(*) from site where sitename =

37、'" + 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 + "'"

38、if (Convert.ToInt32(cmd.ExecuteScalar().ToString() = 0) count = -2; cn.Close(); return; /搜索包含StartSite的路线 int i = 0; int j = 0; for (j = 0; j < LineCount; j+) cmd.CommandText = "select count(*) from Line" + linej + " where SiteName='" + StartSite + "'" if (Co

39、nvert.ToInt32(cmd.ExecuteScalar().ToString() > 0) StartSiteLineIdi+ = linej; StartSiteLineIdi = -1;/用于终止判断 /搜索包含EndSite的路线 i = 0; j = 0; for (j = 0; j < LineCount; j+) cmd.CommandText = "select count(*) from Line" + linej + " where SiteName='" + EndSite + "'&qu

40、ot; if (Convert.ToInt32(cmd.ExecuteScalar().ToString() > 0) EndSiteLineIdi+ = linej; EndSiteLineIdi = -1;/用于终止判断 /当两个站点处于同一条路线时,即直达 for (i = 0; i < 20 && StartSiteLineIdi != -1; i+) for (j = 0; j < 20 && EndSiteLineIdj != -1; j+) if (StartSiteLineIdi = EndSiteLineIdj) count

41、= -3; Line0, 0 = StartSiteLineIdi.ToString().Trim();/记录第几路车 cmd.CommandText = "select cixu from Line" + Line0, 0 + " where SiteName='" + EndSite + "'"/获得EndSite的次序 int end = Convert.ToInt32(cmd.ExecuteScalar().ToString(); cmd.CommandText = "select cixu from

42、 Line" + Line0, 0 + " where SiteName='" + StartSite + "'"/获得StartSite的次序 int start = Convert.ToInt32(cmd.ExecuteScalar().ToString(); Line0, 1 = Math.Abs(end - start).ToString(); cn.Close(); return; int k = 0;/用于记录当前的方案个数,用于数组Linek, /用于判断换乘的,换乘一次 for (i = 0; i < 20

43、 && StartSiteLineIdi != -1 && k < 8; i+) int startsite = new int35;/用于记录每条路线的站点id cmd.CommandText = "select siteid from Line" + StartSiteLineIdi + "" SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) int num = 0; while (reader.Read() startsitenum+

44、 = 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 = "select siteid from Line" + EndSiteLineIdj + "" read

45、er = 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;

46、m+) for (int n = 0; n < 35 && endsiten != -1 && Logo = 0 ; n+) if (startsitem = endsiten) cmd.CommandText = "select cixu from Line" + StartSiteLineIdi + " where sitename = '" + StartSite + "'" int start = Convert.ToInt32(cmd.ExecuteScalar().To

47、String(); cmd.CommandText = "select cixu from Line" + EndSiteLineIdj + " where sitename = '" + EndSite + "'" int end = Convert.ToInt32(cmd.ExecuteScalar().ToString(); cmd.CommandText = "select sitename from site where siteid=" + startsitem + "&quo

48、t; 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).ToString(); Logo = 1;/跳出上面两个循环 k+; /end for /end for (j = 0; j < 20 &

49、;& EndSiteLineIdj != -1; j+) /end for (i = 0; i < 20 && StartSiteLineIdi != -1; i+) count = k; cn.Close(); 5.3 后台管理5.3.1 管理员登录此模块为管理员登录后台服务,只要管理员输入正确的用户名、密码就能登录后台对数据库进行修改管理。界面如图5-5所示: 图5-5 管理员登录图该功能实现,首先分别从textbox中获取ID信息存入id,密码信息存入pass,判断非空的情况下查询管理员表,ID、密码一致的情况下允许进入后台管理。主要实现代码如下:publi

50、c bool Login(string id, string pass) SqlConnection cn = createConnection(); cn.Open(); SqlCommand cmd = new SqlCommand("SELECT Count(*) FROM Admin WHERE AdminId='" + id + "'AND AdminPassword='" + pass + "'", cn); int count = Convert.ToInt32(cmd.ExecuteSc

51、alar(); cn.Close(); if (count > 0) return true; else return false; 5.3.2 添加、修改、删除站点对于新出现的一些站点,本系统具有添加功能,对于旧站点更名后的修改,本系统具有修改功能,对于旧站点的废除,本系统具有删除功能。管理员登录后台后,可以通过添加、修改、删除操作对各站点集合的表进行管理。三个功能的界面相似,只贴出添加界面,界面如下图5-6所示: 图5-6 添加站点图1.站点添加功能将输入textbox的站名存入数组name、站点描述存入数组SiteDescribe,然后添加到总站点表中,同时记录站点总个数的变量Si

52、teCount要+1。实现的主要代码如下:public bool ZhandianAdd(string name, string SiteDescribe) SqlConnection cn = createConnection(); cn.Open(); SiteCount+; SqlCommand cmd = new SqlCommand("insert into Site (SiteID,SiteName,SiteDescribe) values( " + SiteCount + " ,'" + name + "',

53、9;" + SiteDescribe + "')", cn); if (cmd.ExecuteNonQuery() > 0) cn.Close(); return true; else SiteCount-; cn.Close(); return false; return false;2.删除站点功能将textbox中输入的信息存入数组name中,从站点总表中删除该站点,SiteCount要-1,同时遍历所有线路表,若表中含有该站点也要删除,具体代码如下:public bool DeleteZhandian(string name) SqlConnection cn = createConnection(); cn.Open(); SqlCommand cmd = new SqlCommand("delete from Site where

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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