基于C#asp.netsqlserver的交通信息网上查询系统设计与实现毕业论文程序源码大家好今天给大家介绍基于C#asp.netsqlserver的交通信息网上查询系统设计与实现更多精选毕业设计项目实例见文末哦。文章目录基于C#asp.netsqlserver的交通信息网上查询系统设计与实现毕业论文程序源码1、项目简介2、资源详情3、关键词4、资源下载5、毕设简介6、精选500套毕业设计软件源码和配套论文下载1、项目简介本文基于ASP.NET设计开发了一套B/S结构的交通信息网上查询系统。本文中首先考虑了我国交通的现状和不同乘客的实际要求分析了此系统应该具有的功能其次对系统的主要功能模块进行了详细地描述其中主要包括查询模块包括按线路查询、按站点查询和按两站点查询和管理更新模块包括公交站点管理和公交线路管理以及对管理员的管理最后结合系统开发阶段和调试阶段发现的问题,提出了系统需要完善的地方,总结了开发此系统所取得的经验和体会。2、资源详情项目难度中等难度适用场景相关题目的毕业设计配套论文字数12813个字28页包含内容整套源码完整毕业论文3、关键词交通ASP.NET查询B/S结构数据库4、资源下载本项目全套源码及配套论文如下有需要的朋友可以点击进行下载。如果链接失效可点击文章最下方的卡片扫码自助下载。序号毕业设计全套资源点击下载本项目源码基于C#asp.netsqlserver的交通信息网上查询系统设计与实现源码文档BS架构_交通信息网上查询系统.zip5、毕设简介提示以下为毕业论文的简略介绍项目源码及完整毕业论文下载地址见文末。1 引言1.1 课题背景省略1.2 国内研究现状省略1.3 本课题研究的意义省略1.4 本课题的研究方法通过访问现有网上的火车时刻查询系统、公交查询系统等做出分析报告然后通过.net语言和SQL来进行开发。在设计中以需求分析为基础写出系统开发计划、实现流程及相关问题的实现方法然后用这个流程进行本次开发。1.5 本文所做工作首先介绍了交通信息网上查询系统的开发环境以及选用的开发工具与数据库的关系阐明了计算机互联网络的概念。并对数据库的体系结构、DBMS进行了介绍从工作原理入手介绍asp.net并且介绍了B/S模式的概念、特点用软件工程的方法分析交通信息网上查询系统对整个系统进行了需求分析、功能模块划分并通过ER图对数据库进行概念设计对交通信息网上查询系统的具体设计描述了查询、录入模块的实现过程。最后在结束语的总结部分指出了系统的亮点以及不足之处简单介绍了自己开发过程中的体会与心得在摸索中实践在实践中摸索。2 设计环境2.1 计算机网络计算机网络是指将多台具有独立功能的计算机通过通信线路和通信设备连接起来在网络软件的支持下实现数据通信和资源共享的计算机系统。计算机网络的规模有大有小大的可以覆盖全球小的仅局限于一个办公室。现在一般按照网络覆盖的地理范围将计算机网络分为三类局域网LAN、城域网MAN、广域网WAN。2.2 系统运行环境该系统采用Browser/Server模式进行设计在服务器上运行Web发布服务器、数据库程序服务器操作系统为Windows客户机操作为Windows其上运行浏览器程序服务器和客户机可为同一设备。2.3 系统开发工具该系统采用.NET环境运用Dreamweaver进行开发数据库服务器为SQLWEB发布服务器为Windows Server客户端使用浏览器运行程序整个系统调试成功。2.4 开发工具介绍2.4.1 Dreamweaver介绍Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器它是第一套针对专业网页设计师特别发展的视觉化网页开发工具利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。DREAMWEAVER特点最佳的制作效率、网站管理、无可比拟的控制能力。2.4.2 SQ介绍SQL Server 是Microsoft公司推出的SQL Server数据库管理系统的最新版本该版本继承了SQL Server 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 的膝上型电脑到运行Microsoft Windows 的大型多处理器的服务器等多种平台使用。3 设计理论依据3.1 数据库技术省略3.2 ASP.NET语言介绍3.2.1 Asp.net与asp的区别效率Asp是一个脚本编程环境只能用VBScript或者JavaScript这样的非模块化语言来编写。当ASP程序完成之后在每次请求的时候解释执行。这就意味着它在使用其他语言编程写大量组件的时候会遇到困难并且无法实现对操作系统的低层操作。ASP.NET则是建立在.NET Framework之上的他可以使用Visual Basic、C这样的模块化程序设计语言并且它在第一次执行时进行编译之后的执行不需要重新编译就可以直接运行所以速度和效率比ASP提高很多。可重用性在编写ASP应用程序的时候ASP代码和HTML混合在一起。只要需要就可以在任意的一个位置插入一段代码来实现特定的功能。这样方法表面上看起来很方便但在实际的工作中会产生大量繁琐的页面很难读懂导致代码维护很困难。ASP.NET则可以实现代码和内容的完全分离使得维护方便。代码量ASP对所有要实现的功能均需要通过编写代码来实现。在ASP.NET中程序员只要预先说明ASP.NET就可以自动实现这样的功能。所以相对来说要实现同样的功能使用ASP.NET比使用ASP的代码量要少的多。3.2.2 ASP.NET的工作原理ASP.NET的工作原理是首先客户端浏览器有一个HTTP请求发送到Web服务器要求访问一个Web网页。然后Web服务器通过分析客户HTTP请求来定位所请求网页的位置。如果所请求的网页的文件名后缀是aspx那么就把这个文件传诵aspnet_isapi.dll进行处理由aspnet_isapi.dll把ASP.NET代码提交给CLR。如果以前没有执行过这个程序那么就由CLR编译并执行得到纯HTML结果如果已经执行过这个程序那么就直接执行编译好的程序并得到纯HTML结果。最后把这些纯HTML结果传回到浏览器作为HTTP响应浏览器收到这个响应之后就可以显示Web网页。图1 .NET的组成部分3.3 B/S结构介绍B/S结构即Browser/Server(浏览器/服务器)结构是随着Internet技术的兴起对C/S结构的一种变化或者改进的结构。在这种结构下用户界面完全通过WWW浏览器实现一部分事务逻辑在前端实现但是主要事务逻辑在服务器端实现形成所谓3-tier结构。B/S结构主要是利用了不断成熟的WWW浏览器技术结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能并节约了开发成本是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。图2 B/S结构图B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网VPN。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点。须视企业规模和地理分布确定。企业内部通过防火墙接入Internet在整个网络采用TCP/IP协议。省略4 系统构架4.1 系统概述本系统是在全国城际交通路线基础上将各交通信息进行整合查询的系统是为了方便旅客了解各交通路线情况而开发设计的。本系统根据录入的数据根据不同的要求可以查询出各时段、班次、城市的交通信息。另外要达到对不能直达的城市进行转乘查询的目的。功能范围有按城市查询、按班次查询、普通查询、管理员对交通、城市、及管理员信息的管理。根据这些构成了该系统。4.2 系统功能简述交通信息查询功能a) 普通查询输入最简洁的查询方式用户只需要输入出发城市和终点城市就可进行交通信息查询查询结果为所有符合条件的公路、铁路及航空信息的综合显示。b) 城市查询输入想要了解的城市名称即可查询出所有经过该城市的所有交通信息以及相关的城市介绍。。c) 班次查询在知道班次的前提下可以对该班次进行详细的查询。d) 高级查询用户可根据自己特定的条件在系统上查询交通信息。如相关时间、价格等。交通信息更新功能a) 修改信息在原有信息的基础上对已改变的信息进行修改以达到正确性和时效性。b) 添加信息当有新的交通信息出现后需要及时正确的添加该信息确保系统的时效性。c) 删除信息当某交通信息被废弃时应及时的删除该信息以免对查询的结果产生错误的影响和对数据库造成不必要的负担。城市信息修改功能城市的添加是在添加交通信息的时候自动添加的故此功能里面只有修改城市信息、修改城市名称和删除城市的功能。当城市尚有交通工具抵达的时候不可将该城市删除。管理员信息管理功能管理员登陆管理页面以后可以根据需要修改自己的个人资料以方便初始管理员联系也可修改自己的登陆密码。初始管理员除了可以修改自己的资料以外还可以帮助其他管理员修改资料。当其他管理员遗失密码后可由初始管理员将其密码改回。以下为功能构成图和查询流程图。图3 系统功能构成图图4 查询流程图5 数据库设计5.1 概念设计实体和属性的定义如下城市城市编号城市名称城市介绍线路线路编号种类车型频率班次交通关系线路编号城市编号交通关系编号出发时间到达时间到达顺序价格1……价格155.2 表的设计数据库中建立了4张表用于记录各项信息。首先建立了管理员资料表users.dbf用来存储管理员等登陆信息以及相关个人资料具体字段如下6 各功能模块的详细说明6.1 查询模块功能设计本模块机能是从数据库中根据所要求的查询条件以及查询方法在数据库中进行交通信息的查询和筛选并以表格的方式表现出来。查询的总体思路为由于交通班次具有方向性所以在交通关系表中特别设定了stops关键字用来存放交通信息的到达顺序并且在每次查询的时候都加入查询条件start.stopsend.stops这样就能保证每条查询出的交通路线都具有正确的方向性以及避免了交通路线重复的情况。而查询的总体思路是把城市作为结点交通关系作为通路来构成连通的有向图然后用广度优先的方法进行遍历为基础。为了提高查询效率在构造查询的时候又是以起点和终点的结点构造个子的最小生成树通过查找其交叉结点或通路我们就可以得到我们的查询结果。在查询系统的主页面中将要查询的信息输入文本并选择方法提交以后查询系统将输入的信息存入session变量中并根据不同的查询方法和种类跳转到不同的页面进行处理。查询主页面的主要输入页面如下图9 查询主界面根据查询的方法和种类不同查询共分为6个部分6.1.1 直达查询在直达查询中可以查询到从起点城市出发到终点城市可以乘坐的交通工具基本信息以及起点城市的出发时间、终点城市到达时间、其间该班次可能经过的城市的到达时间和出发时间。通过查询总体思路的派生直达查询的主要查询方法简化为以起点城市和终点城市作为结点查询出连通该2个结点的通路该通路即为我们需要查询的交通路线。当用户以直达查询提交以后系统将会跳转到chaxun.aspx页面。在打开chaxun.aspx页面后后台将用以存入session变量中的起点城市和终点城市来查询数据库并测试有无符合条件的交通工具其SQL语句为select a.tid,b.gotime,a.gettime,b.stops as stopsb,a.stops as stopsa from//将所有经过终点城市的车信息作为子集合(select*from bus where cityid(select cityid from ctxx where citynameends))A,//将所有经过起点城市的车的信息作为子集B(select*from bus where cityid(select cityid from ctxx where citynamestart))BwhereA.stopsB.stops and a.tidb.tid当查询到交通路线时进行需要返回的相关信息查询并显示若没有则返回“无班次到达”的结果并输出超连接可连接到chaxun2.aspx页面进行一次转乘查询。6.1.2 一次转乘查询在一次转乘查询中可以查询到从起点城市出发到终点城市其间要经过的一个城市以及要乘坐的2个交通工具的基本信息和中转城市的到达时间以及出发时间。通过查询总体思路的派生一次转乘查询的主要查询方法简化为以起点城市和终点城市作为结点分别查询出连通该2个结点的通路然后在这些通路的基础上查找他们交汇的结点此时这些结点就为我们一次转乘的中转城市而分别连通起点和终点结点的通路即为我们需要查询的交通路线。当用户以一次转乘查询提交或者在直达查询后通过超连接跳转到chaxun2.aspx页面。在chaxun2.aspx中后台首先测试其中转城市是否存在其SQL语句为select cityid,cityname from ctxx where cityid in// 将所有经过起点城市的交通信息作为子集a(select b.cityid from(select*from bus where cityid(select cityid from ctxx where citynamestart))a,//将所有经过起点城市的车的信息主要查询到达城市作为子集b(select*from bus where tidin(select tid from bus where cityid(select cityid from ctxx where citynamestart)))b,//将所有经过终点城市的车的信息主要查询到达城市作为子集c(select*from bus where tidin(select tid from bus where cityid(select cityid from ctxx where citynameends)))c,//将所有经过终点城市的交通信息作为子集d(select*from bus where cityid(select cityid from ctxx where citynameends))d//起点和终点能到达的城市中相同的城市whereA.stopsB.stops and a.tidb.tid and c.stopsd.stops and c.tidd.tid and b.cityidc.cityid)若存在则首先查询出中转城市名即我们查询出通路的交叉结点用dataset对象的table属性将返回结果保存起来。然后利用for循环每次循环首先输出起点到中转城市的交通信息然后再输出中转城市到终点城市的交通信息。否则返回“无班次到达”的结果并输出超连接转到2转查询的chaxun3.aspx页面。6.1.3 二次转乘查询在二次转乘查询中可以查询到从起点城市出发到终点城市其间要经过的2个城市以及要乘坐的3个交通工具的基本信息和中转城市的到达时间以及出发时间。通过查询总体思路的派生二次转乘查询的主要查询方法简化为以起点城市和终点城市作为结点分别查询出连通该2个结点的所有通路。再利用集合的方法将连通起点城市结点的通路连通的所有城市设为集合A将连通终点城市结点的通路连通的所有城市设为集合B这样我们就只需要将集合A的城市作为起点结点将集合B的城市作为终结点进行直达查询算法若查询有结果就表示我们二次转乘查询成功。为了不让我们的查询结果中出现循环的现象在查询条件中还需要加上所有的中转城市与起点和终点城市不相同的条件。进入chaxun3.aspx页面后还是进行查询结果测试其SQL语句为select a.cityid,b.tid,b.cityid,bus.tid,c.cityid,c.tid,d.cityid from bus,//将所有经过起点城市的交通信息作为子集a(select*from bus where cityid(select cityid from ctxx where citynamestart))a,//将所有经过起点城市的车的信息主要查询到达城市作为子集b(select*from bus where tidin(select tid from bus where cityid(select cityid from ctxx where citynamestart)))b,//将所有经过终点城市的车的信息主要查询到达城市作为子集c(select*from bus where tidin(select tid from bus where cityid(select cityid from ctxx where citynameends)))c,//将所有经过终点城市的交通信息作为子集d(select*from bus where cityid(select cityid from ctxx where citynameends))d//从起点城市能到达的所有城市whereA.stopsB.stops and a.tidb.tid and//从终点城市能到达的所有城市c.stopsd.stops and c.tidd.tid//在子集合b和子集c中有交通关系存在and bus.tid in(select bus.tid from bus where cityidb.cityid)and bus.tid in(select bus.tid from bus where cityidc.cityid)and bus.stops1//经过的4个城市各不相同。and a.cityidb.cityid and a.cityidc.cityid and a.cityidd.cityid and b.cityidc.cityid and b.cityidd.cityid and c.cityidd.cityid 。若查询有结果则利用dataset对象中的table属性将需要的信息保存下来然后再根据其信息进行各交通工具和城市信息的查询和输出若查询无结果则执行输出“现有条件查询不到符合要求的结果”并结束。6.1.4 高级查询通过高级查询的超连接可以跳转到高级查询页面gjcx.aspx。在此页面用户除了可以输入起点城市和终点城市以外还可以根据自己的需要选择性的输入需要限定的时间、价格等信息如下图所示图10 高级查询当用户在高级查询页面提交查询后首先测试是否有从起点城市到达终点城市的交通路线其SQL语句与直达查询相同。当查询到交通路线时进行需要返回的相关信息查询并显示若没有则返回“无班次到达”的结果。在此页面中在测试路线的SQL语句是在直达查询的SQL语句的基础上整合了页面提交的限定条件并根据条件查询和输出结果。6.1.5 城市查询在主页面中还有城市查询的功能其主要功能是查询所有抵达该城市的交通路线的基本信息及该交通路线以后可以抵达的城市、另外还有城市简介。在跳转到城市查询city.aspx页面后后台程序会调用session变量中的城市名进行是否有交通路线连通的测试其SQL语句为select*from jtgjxx where tid in(select tid from bus where cityid(select cityid from ctxx where citynamecity))若没有则输出“尚无该城市信息”若有则首先在ctxx.dbf中查询出该城市的简介然后输出最后查询交通路线的相关信息依次输出。6.1.6 路线查询在主页面中还有城市查询的功能其主要功能是查询指定交通路线的信息输出信息包括种类、班次、车型、频率、经过城市名、在该城市的出发时间以及抵达该城市的时间。在路线查询line.aspx中其功能比较简单多数与city.aspx的功能相似只是查询的数据表和输出内容差异故在此不多做介绍了。6.2 后台管理模块功能设计在需要对系统进行后台管理时首先需要进行管理员身份登陆其页面如下图11 管理员登陆在登陆页面login.aspx中登陆首先触发后台程序在users.dbf中查询对应loginID的密码然后将用户输入的密码用MD5加密后与之对面相同则通过登陆将相关信息保存到session变量中以便通过以后页面的验证然后跳转到admin.aspx页面否则登陆失败。登陆以后系统进入admin.aspx页面界面如下图12 管理主界面如上所示admin.aspx是一个由3个页面所组成个框架顶部为admin_top.aspx主要显示当前系统时间和登陆ID左侧为admin_left.aspx全部由超连接组成为跳转到其他功能页面所准备右下方最大的为main.aspx用于提醒管理员未添加完整的信息也是框架中用来显示其他功能页面的区域。在所有的后台页面中后台程序都会先判断session中是否含有登陆信息若没有则跳转到login.aspx。在左侧的注销功能中首先跳转到cancellogin.aspx页面该页面的后台程序将清空session中与登陆有关的所有变量然后跳转到login.aspx页面。6.2.1 管理员信息管理管理员信息管理由修改个人资料和管理员管理组成。而管理员管理需要初始管理员身份一般管理员无法对其操作。1、 修改个人资料进入修改个人资料chggrzl.aspx页面首先利用session变量中的登陆信息查询users.dbf表再用dataset对象将登陆管理员的相关信息输出然后利用文本框录入信息对其进行修改。2、 管理员管理在管理员管理glygl.aspx页面中后台程序除了判断登陆条件以外还指定了登陆ID必须为admin且所有的函数都含有此判断其目的是防止一般管理员越权操作。管理员管理界面如下图13 管理员管理界面在此页面中首先是调用datagrid控件输出所有管理员信息并用其控件的编辑功能对其需要的项目进行修改而密码在修改后会通过MD5加密后再存入数据库。下方有添加和删除管理员的项目。6.2.2 交通信息修改功能交通信息的修改总共包括3个方面添加、修改和删除交通信息。1、 添加交通信息添加交通信息功能由于需要录入的信息比较多所以分为了4个页面来共同完成首先是录入交通工具基本信息页面addjtxx.aspx其功能是将交通工具的基本信息如种类、班次、车型、频率、经过城市数存放到session变量中。然后跳转到添加交通关系页面addjtgx.aspx。在addjtgx.aspx页面中首先将已存入session变量中的交通信息显示出来以便让管理员验证是否正确然后利用for循环从1到session经过城市数录入所有城市的交通关系信息包括该城市的出发时间和到达时间并将其保存到session变量中。当for循环结束后页面跳转至添加价格信息addrate1.aspx页面进行价格信息的添加也是利用for循环将所有城市到其他城市的价格信息写入session变量中。界面如下图14 价格信息录入界面For循环结束后跳转到录入的最后一个步骤将所有写入session变量中的相关信息录入数据库。该功能在addjtinfo.aspx页面中执行。首先仍然是输出所有session变量中的相关信息要求管理员对录入的信息进行确认然后将所有session变量中保存的交通信息录入数据库相关表项而对于城市名bus.dbf中使用的是城市ID所以在录入前会有一个转换当转换时不能获得城市ID时后台会将查询不到城市ID的城市名自动添加到ctxx.dbf中然后再查询其城市ID。有关查询城市ID的SQL代码如下//如果该城市在ctxx表中则执行ifexists(select cityid from ctxx where citynamecityname)//查询城市IDselect cityid from ctxx where citynamecityname//否则先填加该城市再查询城市IDelsebegin insertctxx(cityname)values(cityname)select cityid from ctxx where citynamecitynameendAddjtinfo.aspx界面如下图15 交通信息提交界面2、 修改交通信息将现有的交通信息做调整由chgjtxx.aspx功能页面完成。在此页面中除了提供输入班次的文本框以外还为了方便添加和修改路线城市特意添加了城市名与城市ID互换查询功能另外还有添加城市的功能。在添加城市时系统会自动在ctxx.dbf中查询该城市的ID然后录入数据库若没有则自动将该城市添加至ctxx.dbf中然后查询其ID。当输入了班次点击提交后后台将分别使用datagird控件显示交通工具的基本信息使用datalist控件显示交通路线的相关信息。其中datalist控件提供了修改和删除功能而datagird则只提供修改功能因此在这里不能删除交通信息。3、 删除交通信息删除交通信息的功能由deljtxx.aspx功能页面完成。此页面也是提供一个文本框来录入需要删除的交通班次不同的是提供了2个按钮一个是查询一个是删除。在删除之前通常都会提醒管理员先查询输入班次的交通信息以免因操作失误而错删交通信息。当管理员提交了删除以后后台会根据输入的班次首先查询到该班次的TID然后在bus.dbf中删除所有与该TID有关的路线信息然后再在jtgjxx.dbf中删除该班次的基本信息。这样就不会有冗余信息。6.2.3 城市信息修改功能由于城市的添加是在添加、修改交通信息时出现新城市自动添加的所以在此功能模块中不再提供添加城市的功能这样既优化了系统功能又避免了无效信息的录入。因此城市信息的修改由修改城市信息和删除城市2个功能组成。在城市修改页面chgctxx.aspx中后台使用datagird控件显示所有城市的城市名、城市ID和城市介绍并提供其修改但因为城市ID涉及到交通关系而一般的外界因素不影响城市ID的变动。因此城市ID将被设置为只读。在页面中另外提供了文本框供城市的快速查询和删除。当使用查询时datagird控件的数据源将被更改显示的将只有由文本框提供的城市名的城市信息以便查询和修改。当使用删除时后台首先会利用该城市ID在交通关系表bus.dbf中查询若该城市ID仍然出现在其中则表明该城市仍然在交通网络中一旦删除将影响整个交通关系网络的正常运行。所以系统不支持此类删除只有当城市不在交通关系网络中时系统才允许删除城市。而不在交通关系网络中的城市在管理员登陆时系统会在main.aspx中给出提示信息由于自动添加城市时不能添加城市介绍信息因此一并给出提示信息还有未添加城市介绍的城市。删除城市函数部分代码如下subdelct(sender as object,e as eventargs)dim conn asnewsqlconnection()dim ds asnewdataset()conn.connectionstringdata sourcelocalhost;initial catalogjtxxconn.open()dim sql as string sqlselect cityname from ctxx where NOT EXISTS (SELECT * FROM bus WHERE ctxx.cityid bus.cityid) and citynamecitynamedim cmd2 asnewsqlcommand(sql,conn)cmd2.parameters.add(newsqlparameter(cityname,sqldbtype.varchar,40))cmd2.parameters(cityname).valuecity.text dim reader1 as sqldatareadercmd2.executereader()ifnot reader1.read()then reader1.closeResponse.Write(script forwindow eventonloadwindow.alert(该城市还有交通工具到达不能删除);/script)elsereader1.close dim sql1 as string sql1delete from ctxx where citynamecitynamedim cmd1 asnewsqlcommand(sql1,conn)cmd1.parameters.add(newsqlparameter(cityname,sqldbtype.varchar,40))cmd1.parameters(cityname).valuecity.text cmd1.executenonquery()Response.Write(script forwindow eventonloadwindow.alert(成功删除该城市);/script)endifconn.closebindgrid()end sub7 软件测试模块编程完结之后编写测试文档对界面外观和功能等进行检测。首先针对一个模块测试由于有部分参数是需要从其它模块传递过来的因此先要把需要传递的参数赋予固定的值然后才继续后续步骤。模块测试时检验模块每个功能是否都能正常使用包括界面的按钮、线条、表格等的形状、大小、颜色是否符合规范还有检测程序内部的主执行通路是否都能按预定要求正常工作能按正确输出。测试过程中发现BUG时及时修正。模块测试完后先把在模块测试时固定了的需要与其它模块进行参数传递的接口改正过来连接好各模块之间的接口把各个模块整合成一个系统整合过程中可能会出现很多问题因此还需要集成测试。即在把模块按照设计要求组装起来的同时进行测试主要目标是发现与接口有关的问题测试每个功能是否都能正常工作。这是一个“测试——修改——再测试——再修改”的过程直到整个系统能正常运行所有功能都能正常实现。在测试过程中出现过一些不符合标准和达不到功能要求的情况经过修改及以后的调试现已能够完成正常的功能。由于经验欠缺或其它某些原因本次完成的软件不可能是完美无缺的。测试只能尽量避免错误的产生和消除已经产生的错误使程序中的错误密度达到尽可能低的程度减少错误的引入但是不可能完全杜绝软件中的错误。经过测试本模块基本能符合要求也能实现各功能。结 论本次毕业设计是以ASP.net和SQL Server2000为基础开发的一套基于B/S模式的交通信息网上查询系统。本次设计完成了系统的基本功能能够通过本系统实现对交通信息的普通查询、转乘查询和条件查询使用户能够随时方便的进行有效的交通信息查询完成了管理员对交通信息的管理功能让系统信息能够及时的得到更新同时还设计了初始管理员对管理员身份的一个管理让系统的安全性得到大大的提高。本系统操作简单性能良好能够完成交通信息查询的基本工作。参考文献[1] 吉根林.ASP.NET程序设计教材[M].北京电子工业出版社2005。[2] 陈湘.ASP .NET与网站开发编程实战[M].北京清华大学出版社2003。[3] 王易.ASP.NET网站设计实例通[M].北京清华大学出版社2003。[4] 陈惠珍.ASP.NET程序设计[M].北京中国铁道出版社2003。[5] 方睿.网络数据库原理及应用[M].成都四川大学出版社2005。[6] 郑建峰,董国平.SQL SERVER 开发答疑[M].北京人民邮电出版社2005。[7] 余金山,林慧.SQL Server 2000/2005数据库开发实例入门与提高[M].北京电子工业出版社2005。致 谢省略6、精选500套毕业设计软件源码和配套论文下载500套毕业设计软件源码和配套论文下载
C#毕业设计——基于C#+asp.net+sqlserver的交通信息网上查询系统设计与实现(毕业论文+程序源码)
发布时间:2026/6/6 16:39:40
基于C#asp.netsqlserver的交通信息网上查询系统设计与实现毕业论文程序源码大家好今天给大家介绍基于C#asp.netsqlserver的交通信息网上查询系统设计与实现更多精选毕业设计项目实例见文末哦。文章目录基于C#asp.netsqlserver的交通信息网上查询系统设计与实现毕业论文程序源码1、项目简介2、资源详情3、关键词4、资源下载5、毕设简介6、精选500套毕业设计软件源码和配套论文下载1、项目简介本文基于ASP.NET设计开发了一套B/S结构的交通信息网上查询系统。本文中首先考虑了我国交通的现状和不同乘客的实际要求分析了此系统应该具有的功能其次对系统的主要功能模块进行了详细地描述其中主要包括查询模块包括按线路查询、按站点查询和按两站点查询和管理更新模块包括公交站点管理和公交线路管理以及对管理员的管理最后结合系统开发阶段和调试阶段发现的问题,提出了系统需要完善的地方,总结了开发此系统所取得的经验和体会。2、资源详情项目难度中等难度适用场景相关题目的毕业设计配套论文字数12813个字28页包含内容整套源码完整毕业论文3、关键词交通ASP.NET查询B/S结构数据库4、资源下载本项目全套源码及配套论文如下有需要的朋友可以点击进行下载。如果链接失效可点击文章最下方的卡片扫码自助下载。序号毕业设计全套资源点击下载本项目源码基于C#asp.netsqlserver的交通信息网上查询系统设计与实现源码文档BS架构_交通信息网上查询系统.zip5、毕设简介提示以下为毕业论文的简略介绍项目源码及完整毕业论文下载地址见文末。1 引言1.1 课题背景省略1.2 国内研究现状省略1.3 本课题研究的意义省略1.4 本课题的研究方法通过访问现有网上的火车时刻查询系统、公交查询系统等做出分析报告然后通过.net语言和SQL来进行开发。在设计中以需求分析为基础写出系统开发计划、实现流程及相关问题的实现方法然后用这个流程进行本次开发。1.5 本文所做工作首先介绍了交通信息网上查询系统的开发环境以及选用的开发工具与数据库的关系阐明了计算机互联网络的概念。并对数据库的体系结构、DBMS进行了介绍从工作原理入手介绍asp.net并且介绍了B/S模式的概念、特点用软件工程的方法分析交通信息网上查询系统对整个系统进行了需求分析、功能模块划分并通过ER图对数据库进行概念设计对交通信息网上查询系统的具体设计描述了查询、录入模块的实现过程。最后在结束语的总结部分指出了系统的亮点以及不足之处简单介绍了自己开发过程中的体会与心得在摸索中实践在实践中摸索。2 设计环境2.1 计算机网络计算机网络是指将多台具有独立功能的计算机通过通信线路和通信设备连接起来在网络软件的支持下实现数据通信和资源共享的计算机系统。计算机网络的规模有大有小大的可以覆盖全球小的仅局限于一个办公室。现在一般按照网络覆盖的地理范围将计算机网络分为三类局域网LAN、城域网MAN、广域网WAN。2.2 系统运行环境该系统采用Browser/Server模式进行设计在服务器上运行Web发布服务器、数据库程序服务器操作系统为Windows客户机操作为Windows其上运行浏览器程序服务器和客户机可为同一设备。2.3 系统开发工具该系统采用.NET环境运用Dreamweaver进行开发数据库服务器为SQLWEB发布服务器为Windows Server客户端使用浏览器运行程序整个系统调试成功。2.4 开发工具介绍2.4.1 Dreamweaver介绍Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器它是第一套针对专业网页设计师特别发展的视觉化网页开发工具利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。DREAMWEAVER特点最佳的制作效率、网站管理、无可比拟的控制能力。2.4.2 SQ介绍SQL Server 是Microsoft公司推出的SQL Server数据库管理系统的最新版本该版本继承了SQL Server 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 的膝上型电脑到运行Microsoft Windows 的大型多处理器的服务器等多种平台使用。3 设计理论依据3.1 数据库技术省略3.2 ASP.NET语言介绍3.2.1 Asp.net与asp的区别效率Asp是一个脚本编程环境只能用VBScript或者JavaScript这样的非模块化语言来编写。当ASP程序完成之后在每次请求的时候解释执行。这就意味着它在使用其他语言编程写大量组件的时候会遇到困难并且无法实现对操作系统的低层操作。ASP.NET则是建立在.NET Framework之上的他可以使用Visual Basic、C这样的模块化程序设计语言并且它在第一次执行时进行编译之后的执行不需要重新编译就可以直接运行所以速度和效率比ASP提高很多。可重用性在编写ASP应用程序的时候ASP代码和HTML混合在一起。只要需要就可以在任意的一个位置插入一段代码来实现特定的功能。这样方法表面上看起来很方便但在实际的工作中会产生大量繁琐的页面很难读懂导致代码维护很困难。ASP.NET则可以实现代码和内容的完全分离使得维护方便。代码量ASP对所有要实现的功能均需要通过编写代码来实现。在ASP.NET中程序员只要预先说明ASP.NET就可以自动实现这样的功能。所以相对来说要实现同样的功能使用ASP.NET比使用ASP的代码量要少的多。3.2.2 ASP.NET的工作原理ASP.NET的工作原理是首先客户端浏览器有一个HTTP请求发送到Web服务器要求访问一个Web网页。然后Web服务器通过分析客户HTTP请求来定位所请求网页的位置。如果所请求的网页的文件名后缀是aspx那么就把这个文件传诵aspnet_isapi.dll进行处理由aspnet_isapi.dll把ASP.NET代码提交给CLR。如果以前没有执行过这个程序那么就由CLR编译并执行得到纯HTML结果如果已经执行过这个程序那么就直接执行编译好的程序并得到纯HTML结果。最后把这些纯HTML结果传回到浏览器作为HTTP响应浏览器收到这个响应之后就可以显示Web网页。图1 .NET的组成部分3.3 B/S结构介绍B/S结构即Browser/Server(浏览器/服务器)结构是随着Internet技术的兴起对C/S结构的一种变化或者改进的结构。在这种结构下用户界面完全通过WWW浏览器实现一部分事务逻辑在前端实现但是主要事务逻辑在服务器端实现形成所谓3-tier结构。B/S结构主要是利用了不断成熟的WWW浏览器技术结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能并节约了开发成本是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。图2 B/S结构图B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网VPN。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点。须视企业规模和地理分布确定。企业内部通过防火墙接入Internet在整个网络采用TCP/IP协议。省略4 系统构架4.1 系统概述本系统是在全国城际交通路线基础上将各交通信息进行整合查询的系统是为了方便旅客了解各交通路线情况而开发设计的。本系统根据录入的数据根据不同的要求可以查询出各时段、班次、城市的交通信息。另外要达到对不能直达的城市进行转乘查询的目的。功能范围有按城市查询、按班次查询、普通查询、管理员对交通、城市、及管理员信息的管理。根据这些构成了该系统。4.2 系统功能简述交通信息查询功能a) 普通查询输入最简洁的查询方式用户只需要输入出发城市和终点城市就可进行交通信息查询查询结果为所有符合条件的公路、铁路及航空信息的综合显示。b) 城市查询输入想要了解的城市名称即可查询出所有经过该城市的所有交通信息以及相关的城市介绍。。c) 班次查询在知道班次的前提下可以对该班次进行详细的查询。d) 高级查询用户可根据自己特定的条件在系统上查询交通信息。如相关时间、价格等。交通信息更新功能a) 修改信息在原有信息的基础上对已改变的信息进行修改以达到正确性和时效性。b) 添加信息当有新的交通信息出现后需要及时正确的添加该信息确保系统的时效性。c) 删除信息当某交通信息被废弃时应及时的删除该信息以免对查询的结果产生错误的影响和对数据库造成不必要的负担。城市信息修改功能城市的添加是在添加交通信息的时候自动添加的故此功能里面只有修改城市信息、修改城市名称和删除城市的功能。当城市尚有交通工具抵达的时候不可将该城市删除。管理员信息管理功能管理员登陆管理页面以后可以根据需要修改自己的个人资料以方便初始管理员联系也可修改自己的登陆密码。初始管理员除了可以修改自己的资料以外还可以帮助其他管理员修改资料。当其他管理员遗失密码后可由初始管理员将其密码改回。以下为功能构成图和查询流程图。图3 系统功能构成图图4 查询流程图5 数据库设计5.1 概念设计实体和属性的定义如下城市城市编号城市名称城市介绍线路线路编号种类车型频率班次交通关系线路编号城市编号交通关系编号出发时间到达时间到达顺序价格1……价格155.2 表的设计数据库中建立了4张表用于记录各项信息。首先建立了管理员资料表users.dbf用来存储管理员等登陆信息以及相关个人资料具体字段如下6 各功能模块的详细说明6.1 查询模块功能设计本模块机能是从数据库中根据所要求的查询条件以及查询方法在数据库中进行交通信息的查询和筛选并以表格的方式表现出来。查询的总体思路为由于交通班次具有方向性所以在交通关系表中特别设定了stops关键字用来存放交通信息的到达顺序并且在每次查询的时候都加入查询条件start.stopsend.stops这样就能保证每条查询出的交通路线都具有正确的方向性以及避免了交通路线重复的情况。而查询的总体思路是把城市作为结点交通关系作为通路来构成连通的有向图然后用广度优先的方法进行遍历为基础。为了提高查询效率在构造查询的时候又是以起点和终点的结点构造个子的最小生成树通过查找其交叉结点或通路我们就可以得到我们的查询结果。在查询系统的主页面中将要查询的信息输入文本并选择方法提交以后查询系统将输入的信息存入session变量中并根据不同的查询方法和种类跳转到不同的页面进行处理。查询主页面的主要输入页面如下图9 查询主界面根据查询的方法和种类不同查询共分为6个部分6.1.1 直达查询在直达查询中可以查询到从起点城市出发到终点城市可以乘坐的交通工具基本信息以及起点城市的出发时间、终点城市到达时间、其间该班次可能经过的城市的到达时间和出发时间。通过查询总体思路的派生直达查询的主要查询方法简化为以起点城市和终点城市作为结点查询出连通该2个结点的通路该通路即为我们需要查询的交通路线。当用户以直达查询提交以后系统将会跳转到chaxun.aspx页面。在打开chaxun.aspx页面后后台将用以存入session变量中的起点城市和终点城市来查询数据库并测试有无符合条件的交通工具其SQL语句为select a.tid,b.gotime,a.gettime,b.stops as stopsb,a.stops as stopsa from//将所有经过终点城市的车信息作为子集合(select*from bus where cityid(select cityid from ctxx where citynameends))A,//将所有经过起点城市的车的信息作为子集B(select*from bus where cityid(select cityid from ctxx where citynamestart))BwhereA.stopsB.stops and a.tidb.tid当查询到交通路线时进行需要返回的相关信息查询并显示若没有则返回“无班次到达”的结果并输出超连接可连接到chaxun2.aspx页面进行一次转乘查询。6.1.2 一次转乘查询在一次转乘查询中可以查询到从起点城市出发到终点城市其间要经过的一个城市以及要乘坐的2个交通工具的基本信息和中转城市的到达时间以及出发时间。通过查询总体思路的派生一次转乘查询的主要查询方法简化为以起点城市和终点城市作为结点分别查询出连通该2个结点的通路然后在这些通路的基础上查找他们交汇的结点此时这些结点就为我们一次转乘的中转城市而分别连通起点和终点结点的通路即为我们需要查询的交通路线。当用户以一次转乘查询提交或者在直达查询后通过超连接跳转到chaxun2.aspx页面。在chaxun2.aspx中后台首先测试其中转城市是否存在其SQL语句为select cityid,cityname from ctxx where cityid in// 将所有经过起点城市的交通信息作为子集a(select b.cityid from(select*from bus where cityid(select cityid from ctxx where citynamestart))a,//将所有经过起点城市的车的信息主要查询到达城市作为子集b(select*from bus where tidin(select tid from bus where cityid(select cityid from ctxx where citynamestart)))b,//将所有经过终点城市的车的信息主要查询到达城市作为子集c(select*from bus where tidin(select tid from bus where cityid(select cityid from ctxx where citynameends)))c,//将所有经过终点城市的交通信息作为子集d(select*from bus where cityid(select cityid from ctxx where citynameends))d//起点和终点能到达的城市中相同的城市whereA.stopsB.stops and a.tidb.tid and c.stopsd.stops and c.tidd.tid and b.cityidc.cityid)若存在则首先查询出中转城市名即我们查询出通路的交叉结点用dataset对象的table属性将返回结果保存起来。然后利用for循环每次循环首先输出起点到中转城市的交通信息然后再输出中转城市到终点城市的交通信息。否则返回“无班次到达”的结果并输出超连接转到2转查询的chaxun3.aspx页面。6.1.3 二次转乘查询在二次转乘查询中可以查询到从起点城市出发到终点城市其间要经过的2个城市以及要乘坐的3个交通工具的基本信息和中转城市的到达时间以及出发时间。通过查询总体思路的派生二次转乘查询的主要查询方法简化为以起点城市和终点城市作为结点分别查询出连通该2个结点的所有通路。再利用集合的方法将连通起点城市结点的通路连通的所有城市设为集合A将连通终点城市结点的通路连通的所有城市设为集合B这样我们就只需要将集合A的城市作为起点结点将集合B的城市作为终结点进行直达查询算法若查询有结果就表示我们二次转乘查询成功。为了不让我们的查询结果中出现循环的现象在查询条件中还需要加上所有的中转城市与起点和终点城市不相同的条件。进入chaxun3.aspx页面后还是进行查询结果测试其SQL语句为select a.cityid,b.tid,b.cityid,bus.tid,c.cityid,c.tid,d.cityid from bus,//将所有经过起点城市的交通信息作为子集a(select*from bus where cityid(select cityid from ctxx where citynamestart))a,//将所有经过起点城市的车的信息主要查询到达城市作为子集b(select*from bus where tidin(select tid from bus where cityid(select cityid from ctxx where citynamestart)))b,//将所有经过终点城市的车的信息主要查询到达城市作为子集c(select*from bus where tidin(select tid from bus where cityid(select cityid from ctxx where citynameends)))c,//将所有经过终点城市的交通信息作为子集d(select*from bus where cityid(select cityid from ctxx where citynameends))d//从起点城市能到达的所有城市whereA.stopsB.stops and a.tidb.tid and//从终点城市能到达的所有城市c.stopsd.stops and c.tidd.tid//在子集合b和子集c中有交通关系存在and bus.tid in(select bus.tid from bus where cityidb.cityid)and bus.tid in(select bus.tid from bus where cityidc.cityid)and bus.stops1//经过的4个城市各不相同。and a.cityidb.cityid and a.cityidc.cityid and a.cityidd.cityid and b.cityidc.cityid and b.cityidd.cityid and c.cityidd.cityid 。若查询有结果则利用dataset对象中的table属性将需要的信息保存下来然后再根据其信息进行各交通工具和城市信息的查询和输出若查询无结果则执行输出“现有条件查询不到符合要求的结果”并结束。6.1.4 高级查询通过高级查询的超连接可以跳转到高级查询页面gjcx.aspx。在此页面用户除了可以输入起点城市和终点城市以外还可以根据自己的需要选择性的输入需要限定的时间、价格等信息如下图所示图10 高级查询当用户在高级查询页面提交查询后首先测试是否有从起点城市到达终点城市的交通路线其SQL语句与直达查询相同。当查询到交通路线时进行需要返回的相关信息查询并显示若没有则返回“无班次到达”的结果。在此页面中在测试路线的SQL语句是在直达查询的SQL语句的基础上整合了页面提交的限定条件并根据条件查询和输出结果。6.1.5 城市查询在主页面中还有城市查询的功能其主要功能是查询所有抵达该城市的交通路线的基本信息及该交通路线以后可以抵达的城市、另外还有城市简介。在跳转到城市查询city.aspx页面后后台程序会调用session变量中的城市名进行是否有交通路线连通的测试其SQL语句为select*from jtgjxx where tid in(select tid from bus where cityid(select cityid from ctxx where citynamecity))若没有则输出“尚无该城市信息”若有则首先在ctxx.dbf中查询出该城市的简介然后输出最后查询交通路线的相关信息依次输出。6.1.6 路线查询在主页面中还有城市查询的功能其主要功能是查询指定交通路线的信息输出信息包括种类、班次、车型、频率、经过城市名、在该城市的出发时间以及抵达该城市的时间。在路线查询line.aspx中其功能比较简单多数与city.aspx的功能相似只是查询的数据表和输出内容差异故在此不多做介绍了。6.2 后台管理模块功能设计在需要对系统进行后台管理时首先需要进行管理员身份登陆其页面如下图11 管理员登陆在登陆页面login.aspx中登陆首先触发后台程序在users.dbf中查询对应loginID的密码然后将用户输入的密码用MD5加密后与之对面相同则通过登陆将相关信息保存到session变量中以便通过以后页面的验证然后跳转到admin.aspx页面否则登陆失败。登陆以后系统进入admin.aspx页面界面如下图12 管理主界面如上所示admin.aspx是一个由3个页面所组成个框架顶部为admin_top.aspx主要显示当前系统时间和登陆ID左侧为admin_left.aspx全部由超连接组成为跳转到其他功能页面所准备右下方最大的为main.aspx用于提醒管理员未添加完整的信息也是框架中用来显示其他功能页面的区域。在所有的后台页面中后台程序都会先判断session中是否含有登陆信息若没有则跳转到login.aspx。在左侧的注销功能中首先跳转到cancellogin.aspx页面该页面的后台程序将清空session中与登陆有关的所有变量然后跳转到login.aspx页面。6.2.1 管理员信息管理管理员信息管理由修改个人资料和管理员管理组成。而管理员管理需要初始管理员身份一般管理员无法对其操作。1、 修改个人资料进入修改个人资料chggrzl.aspx页面首先利用session变量中的登陆信息查询users.dbf表再用dataset对象将登陆管理员的相关信息输出然后利用文本框录入信息对其进行修改。2、 管理员管理在管理员管理glygl.aspx页面中后台程序除了判断登陆条件以外还指定了登陆ID必须为admin且所有的函数都含有此判断其目的是防止一般管理员越权操作。管理员管理界面如下图13 管理员管理界面在此页面中首先是调用datagrid控件输出所有管理员信息并用其控件的编辑功能对其需要的项目进行修改而密码在修改后会通过MD5加密后再存入数据库。下方有添加和删除管理员的项目。6.2.2 交通信息修改功能交通信息的修改总共包括3个方面添加、修改和删除交通信息。1、 添加交通信息添加交通信息功能由于需要录入的信息比较多所以分为了4个页面来共同完成首先是录入交通工具基本信息页面addjtxx.aspx其功能是将交通工具的基本信息如种类、班次、车型、频率、经过城市数存放到session变量中。然后跳转到添加交通关系页面addjtgx.aspx。在addjtgx.aspx页面中首先将已存入session变量中的交通信息显示出来以便让管理员验证是否正确然后利用for循环从1到session经过城市数录入所有城市的交通关系信息包括该城市的出发时间和到达时间并将其保存到session变量中。当for循环结束后页面跳转至添加价格信息addrate1.aspx页面进行价格信息的添加也是利用for循环将所有城市到其他城市的价格信息写入session变量中。界面如下图14 价格信息录入界面For循环结束后跳转到录入的最后一个步骤将所有写入session变量中的相关信息录入数据库。该功能在addjtinfo.aspx页面中执行。首先仍然是输出所有session变量中的相关信息要求管理员对录入的信息进行确认然后将所有session变量中保存的交通信息录入数据库相关表项而对于城市名bus.dbf中使用的是城市ID所以在录入前会有一个转换当转换时不能获得城市ID时后台会将查询不到城市ID的城市名自动添加到ctxx.dbf中然后再查询其城市ID。有关查询城市ID的SQL代码如下//如果该城市在ctxx表中则执行ifexists(select cityid from ctxx where citynamecityname)//查询城市IDselect cityid from ctxx where citynamecityname//否则先填加该城市再查询城市IDelsebegin insertctxx(cityname)values(cityname)select cityid from ctxx where citynamecitynameendAddjtinfo.aspx界面如下图15 交通信息提交界面2、 修改交通信息将现有的交通信息做调整由chgjtxx.aspx功能页面完成。在此页面中除了提供输入班次的文本框以外还为了方便添加和修改路线城市特意添加了城市名与城市ID互换查询功能另外还有添加城市的功能。在添加城市时系统会自动在ctxx.dbf中查询该城市的ID然后录入数据库若没有则自动将该城市添加至ctxx.dbf中然后查询其ID。当输入了班次点击提交后后台将分别使用datagird控件显示交通工具的基本信息使用datalist控件显示交通路线的相关信息。其中datalist控件提供了修改和删除功能而datagird则只提供修改功能因此在这里不能删除交通信息。3、 删除交通信息删除交通信息的功能由deljtxx.aspx功能页面完成。此页面也是提供一个文本框来录入需要删除的交通班次不同的是提供了2个按钮一个是查询一个是删除。在删除之前通常都会提醒管理员先查询输入班次的交通信息以免因操作失误而错删交通信息。当管理员提交了删除以后后台会根据输入的班次首先查询到该班次的TID然后在bus.dbf中删除所有与该TID有关的路线信息然后再在jtgjxx.dbf中删除该班次的基本信息。这样就不会有冗余信息。6.2.3 城市信息修改功能由于城市的添加是在添加、修改交通信息时出现新城市自动添加的所以在此功能模块中不再提供添加城市的功能这样既优化了系统功能又避免了无效信息的录入。因此城市信息的修改由修改城市信息和删除城市2个功能组成。在城市修改页面chgctxx.aspx中后台使用datagird控件显示所有城市的城市名、城市ID和城市介绍并提供其修改但因为城市ID涉及到交通关系而一般的外界因素不影响城市ID的变动。因此城市ID将被设置为只读。在页面中另外提供了文本框供城市的快速查询和删除。当使用查询时datagird控件的数据源将被更改显示的将只有由文本框提供的城市名的城市信息以便查询和修改。当使用删除时后台首先会利用该城市ID在交通关系表bus.dbf中查询若该城市ID仍然出现在其中则表明该城市仍然在交通网络中一旦删除将影响整个交通关系网络的正常运行。所以系统不支持此类删除只有当城市不在交通关系网络中时系统才允许删除城市。而不在交通关系网络中的城市在管理员登陆时系统会在main.aspx中给出提示信息由于自动添加城市时不能添加城市介绍信息因此一并给出提示信息还有未添加城市介绍的城市。删除城市函数部分代码如下subdelct(sender as object,e as eventargs)dim conn asnewsqlconnection()dim ds asnewdataset()conn.connectionstringdata sourcelocalhost;initial catalogjtxxconn.open()dim sql as string sqlselect cityname from ctxx where NOT EXISTS (SELECT * FROM bus WHERE ctxx.cityid bus.cityid) and citynamecitynamedim cmd2 asnewsqlcommand(sql,conn)cmd2.parameters.add(newsqlparameter(cityname,sqldbtype.varchar,40))cmd2.parameters(cityname).valuecity.text dim reader1 as sqldatareadercmd2.executereader()ifnot reader1.read()then reader1.closeResponse.Write(script forwindow eventonloadwindow.alert(该城市还有交通工具到达不能删除);/script)elsereader1.close dim sql1 as string sql1delete from ctxx where citynamecitynamedim cmd1 asnewsqlcommand(sql1,conn)cmd1.parameters.add(newsqlparameter(cityname,sqldbtype.varchar,40))cmd1.parameters(cityname).valuecity.text cmd1.executenonquery()Response.Write(script forwindow eventonloadwindow.alert(成功删除该城市);/script)endifconn.closebindgrid()end sub7 软件测试模块编程完结之后编写测试文档对界面外观和功能等进行检测。首先针对一个模块测试由于有部分参数是需要从其它模块传递过来的因此先要把需要传递的参数赋予固定的值然后才继续后续步骤。模块测试时检验模块每个功能是否都能正常使用包括界面的按钮、线条、表格等的形状、大小、颜色是否符合规范还有检测程序内部的主执行通路是否都能按预定要求正常工作能按正确输出。测试过程中发现BUG时及时修正。模块测试完后先把在模块测试时固定了的需要与其它模块进行参数传递的接口改正过来连接好各模块之间的接口把各个模块整合成一个系统整合过程中可能会出现很多问题因此还需要集成测试。即在把模块按照设计要求组装起来的同时进行测试主要目标是发现与接口有关的问题测试每个功能是否都能正常工作。这是一个“测试——修改——再测试——再修改”的过程直到整个系统能正常运行所有功能都能正常实现。在测试过程中出现过一些不符合标准和达不到功能要求的情况经过修改及以后的调试现已能够完成正常的功能。由于经验欠缺或其它某些原因本次完成的软件不可能是完美无缺的。测试只能尽量避免错误的产生和消除已经产生的错误使程序中的错误密度达到尽可能低的程度减少错误的引入但是不可能完全杜绝软件中的错误。经过测试本模块基本能符合要求也能实现各功能。结 论本次毕业设计是以ASP.net和SQL Server2000为基础开发的一套基于B/S模式的交通信息网上查询系统。本次设计完成了系统的基本功能能够通过本系统实现对交通信息的普通查询、转乘查询和条件查询使用户能够随时方便的进行有效的交通信息查询完成了管理员对交通信息的管理功能让系统信息能够及时的得到更新同时还设计了初始管理员对管理员身份的一个管理让系统的安全性得到大大的提高。本系统操作简单性能良好能够完成交通信息查询的基本工作。参考文献[1] 吉根林.ASP.NET程序设计教材[M].北京电子工业出版社2005。[2] 陈湘.ASP .NET与网站开发编程实战[M].北京清华大学出版社2003。[3] 王易.ASP.NET网站设计实例通[M].北京清华大学出版社2003。[4] 陈惠珍.ASP.NET程序设计[M].北京中国铁道出版社2003。[5] 方睿.网络数据库原理及应用[M].成都四川大学出版社2005。[6] 郑建峰,董国平.SQL SERVER 开发答疑[M].北京人民邮电出版社2005。[7] 余金山,林慧.SQL Server 2000/2005数据库开发实例入门与提高[M].北京电子工业出版社2005。致 谢省略6、精选500套毕业设计软件源码和配套论文下载500套毕业设计软件源码和配套论文下载