C#毕业设计——基于C#+asp.net+sqlserver的交通信息网上查询系统设计与实现(毕业论文+程序源码)——交通信息网上查询系统

基于C#+asp.net+sqlserver的交通信息网上查询系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于C#+asp.net+sqlserver的交通信息网上查询系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 本文基于ASP.NET设计开发了一套B/S结构的交通信息网上查询系统。本文中首先考虑了我国交通的现状和不同乘客的实际要求,分析了此系统应该具有的功能;其次对系统的主要功能模块进行了详细地描述,其中主要包括查询模块(包括按线路查询、按站点查询和按两站点查询)和管理更新模块(包括公交站点管理和公交线路管理,以及对管理员的管理),最后结合系统开发阶段和调试阶段发现的问题,提出了系统需要完善的地方,总结了开发此系统所取得的经验和体会。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:12813个字28页
包含内容:整套源码+完整毕业论文


3、关键词:

交通;ASP.NET;查询;B/S结构;数据库

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

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进行开发,数据库服务器为SQL,WEB发布服务器为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的区别

  1. 效率
    Asp是一个脚本编程环境,只能用VBScript或者JavaScript这样的非模块化语言来编写。当ASP程序完成之后,在每次请求的时候解释执行。这就意味着它在使用其他语言编程写大量组件的时候会遇到困难,并且无法实现对操作系统的低层操作。ASP.NET则是建立在.NET Framework之上的,他可以使用Visual Basic、C++这样的模块化程序设计语言,并且它在第一次执行时进行编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率比ASP提高很多。
  2. 可重用性
    在编写ASP应用程序的时候,ASP代码和HTML混合在一起。只要需要,就可以在任意的一个位置插入一段代码来实现特定的功能。这样方法表面上看起来很方便,但在实际的工作中会产生大量繁琐的页面,很难读懂,导致代码维护很困难。ASP.NET则可以实现代码和内容的完全分离,使得维护方便。
  3. 代码量
    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 系统功能简述

  1. 交通信息查询功能:
    a) 普通查询:输入最简洁的查询方式,用户只需要输入出发城市和终点城市就可进行交通信息查询,查询结果为所有符合条件的公路、铁路及航空信息的综合显示。
    b) 城市查询:输入想要了解的城市名称,即可查询出所有经过该城市的所有交通信息,以及相关的城市介绍。。
    c) 班次查询:在知道班次的前提下,可以对该班次进行详细的查询。
    d) 高级查询:用户可根据自己特定的条件,在系统上查询交通信息。如相关时间、价格等。
  2. 交通信息更新功能:
    a) 修改信息:在原有信息的基础上,对已改变的信息进行修改,以达到正确性和时效性。
    b) 添加信息:当有新的交通信息出现后,需要及时正确的添加该信息,确保系统的时效性。
    c) 删除信息:当某交通信息被废弃时,应及时的删除该信息,以免对查询的结果产生错误的影响和对数据库造成不必要的负担。
  3. 城市信息修改功能:
    城市的添加是在添加交通信息的时候自动添加的,故此功能里面只有修改城市信息、修改城市名称和删除城市的功能。当城市尚有交通工具抵达的时候,不可将该城市删除。
  4. 管理员信息管理功能:
    管理员登陆管理页面以后,可以根据需要,修改自己的个人资料,以方便初始管理员联系,也可修改自己的登陆密码。初始管理员除了可以修改自己的资料以外,还可以帮助其他管理员修改资料。当其他管理员遗失密码后,可由初始管理员将其密码改回。

以下为功能构成图和查询流程图。
在这里插入图片描述

图3 系统功能构成图
在这里插入图片描述

图4 查询流程图

5 数据库设计
5.1 概念设计
实体和属性的定义如下:
城市(城市编号,城市名称,城市介绍)
线路(线路编号,种类,车型,频率,班次)
交通关系(线路编号,城市编号,交通关系编号,出发时间,到达时间,到达顺序,价格1……价格15)
在这里插入图片描述

5.2 表的设计
数据库中建立了4张表,用于记录各项信息。
首先建立了管理员资料表users.dbf,用来存储管理员等登陆信息以及相关个人资料,具体字段如下:
在这里插入图片描述
在这里插入图片描述

6 各功能模块的详细说明
6.1 查询模块功能设计
本模块机能是从数据库中,根据所要求的查询条件以及查询方法,在数据库中进行交通信息的查询和筛选,并以表格的方式表现出来。查询的总体思路为:

由于交通班次具有方向性,所以在交通关系表中特别设定了stops关键字,用来存放交通信息的到达顺序,并且在每次查询的时候都加入查询条件start.stops<end.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 cityname=@ends))A,
//将所有经过起点城市的车的信息作为子集B
(select * from bus where cityid=(select cityid from ctxx where cityname=@start))B
 where A.stops>B.stops and a.tid=b.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 cityname=@start))a,
//将所有经过起点城市的车的信息(主要查询到达城市)作为子集b
(select *  from bus where tid in(select tid from bus where cityid=(select cityid from ctxx where cityname=@start)))b,
//将所有经过终点城市的车的信息(主要查询到达城市)作为子集c
(select *  from bus where tid in(select tid from bus where cityid=(select cityid from ctxx where cityname=@ends)))c,
//将所有经过终点城市的交通信息作为子集d
(select *  from bus where cityid=(select cityid from ctxx where cityname=@ends))d
//起点和终点能到达的城市中相同的城市
where A.stops  < B.stops and a.tid=b.tid and c.stops  < d.stops and c.tid=d.tid and b.cityid=c.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 cityname=@start))a,
//将所有经过起点城市的车的信息(主要查询到达城市)作为子集b
(select * from bus where tid in(select tid from bus where cityid=(select cityid from ctxx where cityname=@start)))b,
//将所有经过终点城市的车的信息(主要查询到达城市)作为子集c
(select * from bus where tid in(select tid from bus where cityid=(select cityid from ctxx where cityname=@ends)))c,
//将所有经过终点城市的交通信息作为子集d
(select *  from bus where cityid=(select cityid from ctxx where cityname=@ends))d
//从起点城市能到达的所有城市
where A.stops  < B.stops and a.tid=b.tid and 
//从终点城市能到达的所有城市
c.stops  < d.stops and c.tid=d.tid
//在子集合b和子集c中有交通关系存在
and bus.tid in (select bus.tid from bus where cityid=b.cityid) and bus.tid in (select bus.tid from bus where cityid=c.cityid) and bus.stops='1' 
//经过的4个城市各不相同。
and a.cityid<>b.cityid and a.cityid<>c.cityid and a.cityid<>d.cityid and b.cityid<>c.cityid and b.cityid<>d.cityid and c.cityid<>d.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 cityname=@city)) 

若没有,则输出:“尚无该城市信息”;若有,则首先在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表中则执行
if exists (select cityid from ctxx where cityname=@cityname)
//查询城市ID
select cityid from ctxx where cityname=@cityname 
//否则先填加该城市,再查询城市ID
else begin insert ctxx(cityname) values(@cityname) select cityid from ctxx where cityname=@cityname end

Addjtinfo.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中给出提示信息,由于自动添加城市时不能添加城市介绍信息,因此一并给出提示信息还有未添加城市介绍的城市。

删除城市函数部分代码如下:

sub delct(sender as object,e as eventargs)
	dim conn as new sqlconnection()
	dim ds as new dataset()
	conn.connectionstring="data source=localhost;initial catalog=jtxx"
	conn.open()
	dim sql as string
	sql="select cityname from ctxx where NOT EXISTS (SELECT * FROM bus WHERE ctxx.cityid = bus.cityid) and cityname=@cityname"
	dim cmd2 as new sqlcommand(sql,conn) 
	cmd2.parameters.add(new sqlparameter("@cityname",sqldbtype.varchar,40))
	cmd2.parameters("@cityname").value=city.text
	dim reader1 as  sqldatareader=cmd2.executereader()	
	if not reader1.read() then
	reader1.close
	Response.Write("<script for=window event=onload>window.alert('该城市还有交通工具到达,不能删除!');</" + "script>")
	else
	reader1.close
	dim sql1 as string
	sql1="delete from ctxx where cityname=@cityname"
	dim cmd1 as new sqlcommand(sql1,conn) 
	cmd1.parameters.add(new sqlparameter("@cityname",sqldbtype.varchar,40))
	cmd1.parameters("@cityname").value=city.text
	cmd1.executenonquery()
	Response.Write("<script for=window event=onload>window.alert('成功删除该城市!');</" + "script>")
	end if
	conn.close
	bindgrid()
end sub

7 软件测试
模块编程完结之后,编写测试文档,对界面外观和功能等进行检测。首先针对一个模块测试,由于有部分参数是需要从其它模块传递过来的,因此,先要把需要传递的参数赋予固定的值,然后才继续后续步骤。模块测试时,检验模块每个功能是否都能正常使用,包括界面的按钮、线条、表格等的形状、大小、颜色是否符合规范;还有检测程序内部的主执行通路是否都能按预定要求正常工作,能按正确输出。测试过程中,发现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。

致 谢
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于C#+asp.net+sqlserver的交通信息网上查询系统设计与实现(源码+文档)BS架构_交通信息网上查询系统.zip
目 录 中文摘要 I 英文摘要 II 1 引言 1 2 智能交通系统介绍 2 2.1 智能交通系统(ITS)概述 2 2.2智能交通管理系统的应用现状及发展趋势 3 3 开发方法、技术、工具 4 3.1 系统的开发方法 4 3.2 开发技术 4 3.2.1动态网页技术简介 4 3.2.2 JSP技术简介 4 3.3开发工具 5 3.3.1网页制作工具Deamweaver MX2004 6 3.3.2 SQL 6 3.3.3 Eclipse 7 4 需求分析 10 4.1 设计目标 10 4.2 智能道路交通信息系统描述 10 4.2.1 功能模块简单描述 10 4.3 系统的数据流程分析 12 4.3.1 数据流程分析概述 12 4.4.2 数据流程图 12 5 数据库系统设计 17 5.1 数据库的引入 17 5.2 数据库E-R模型 18 5.3 数据库表结构设计 19 5.4 数据库的完整性和安全性 25 5.4.1 数据库的完整性 25 5.4.2 数据库的安全性 25 6 系统主要功能模块的设计实现 26 6.1 系统设计概述 26 6.1.1 系统设计的原则与内容 26 6.1.2 系统设计的基本方法 26 6.2 系统主要功能模块结构设计 27 6.2.1 系统主要功能模块结构 27 6.2.2 用户管理子系统 27 6.2.3 用户组管理子系统 28 6.2.4 违章信息录入子系统 29 6.2.5 违章信息公告子系统 32 6.2.6 违章处罚子系统 32 6.2.7 信息统计子系统 33 6.3系统重要的程序实现简介 36 6.3.1 数据库的连接实现 36 6.3.2 违章图片存储方式 37 7 系统测试 38 7.1 软件测试的目的和原则 38 7.2 系统测试 39 7.2.1 JSP的中文乱码问题 39 7.2.2 表单和表格打印问题 39 7.2.3 数据库时间字段以及页面中的时间显示问题 39 7.3 软件运行与安装 40 7.3.1 J2EE应用程序的构建与部署 40 7.3.2 具体运行过程 40 8 结论 41 9 致谢 43 参考文献 44
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值