C#毕业设计——基于C#+asp.net+sqlserver的城市公交查询系统设计与实现(毕业论文+程序源码)——城市公交查询系统

基于C#+asp.net+sqlserver的城市公交查询系统设计与实现(毕业论文+程序源码)

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

文章目录:

1、项目简介

  1. 而城市公交查询系统就是使人们能够在因特网上方便、简单的查询出各条路线,了解自己所经过的每个站点等信息,以便能更好的制定自己的行动计划而设计的。它主要实现的模块是公交信息的查询模块,其中包括的功能有:线路查询、站点查询、站站查询、车站查询;而系统管理模块主要实现的是对各个数据表进行添加、编辑、删除等功能操作以及对留言版进行一些相应的回复。
      
    2.城市公交查询系统开发技术采用的是基于.NET的B/S架构,它的前端选用ASP.NET为主要的编程框架,其.ASPX文件包含组成用户界面的 HTML 文本和控件,而后台选用了C#编程语言。用.NET编程的最大好处在于易于管理和重用性比较高。数据库选用的是SQL Server 2000,而应用程序通过ADO.NET与SQL Server 2000数据库建立链接,并且运用SQL 语言实现对其数据库进行操作。在此系统中,大量采用了存储过程来对数据库进行操作。

2、资源详情

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


3、关键词:

互联网;城市公交查询;.NET;存储过程

4、毕设简介

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

引言
省略

本设计的预期成果是:此系统能够使用户简单的查询出他们自己想要的车次经过哪些站点,在哪一站可以转乘,然后继续换乘哪路车;也可以预先知道可以通过哪些车次可以到达目的地。在留言版中可以留下用户对系统的任何信息或者任何要求,管理员可以通过对留言版信息的解读对系统进行一系列的修改。

1.1 城市公交查询系统的前景
省略

1.2 城市公交查询系统的作用
省略

2城市公交查询系统的实现技术和工具
2.1 ASP.NET
2.1.1 什么是ASP.NET
ASP.NET是Microsoft.net的一部分,ASP.net 是一种建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。它提供了一个统一的 Web 开发模型,并为开发人员提供了创建企业级 Web 应用程序所需的各种服务。ASP.NET 是一个已编译的、基于 .NET 的环境,可以使用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和就Jscript.)创作应用程序。另外,任何 ASP.NET 应用程序都可以完全使用.NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

2.1.2 .NET Framework概述
.NET Framework 是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。.NET Framework的几个主要组成部分:首先是整个开发框架的基础,即通用语言运行时以及它所提供的一组基础类库;在开发技术方面,.NET提供了全新的数据库访问技术ADO .NET,以及网络应用开发技术ASP .NET和Windows编程技术Win Forms;在开发语言方面,.NET提供了VB、VC++、C#、 Jscript等多种语言支持;而Visual Studio .NET则是全面支持.NET的开发工具。

.NET Framework 主要实现下列目标:
(1)提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。
(2)提供一个将软件部署和版本控制冲突最小化的代码执行环境。
(3)提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
(4)提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。

使开发人员的经验在面对类型大不相同的应用程序(如基于Windows 的应用程序和基于 Web 的应用程序)时保持一致。按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。

.NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework 类库。公共语言运行库是 .NET Framework 的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)。

.NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。

2.1.3 ASP.NET的特点
1、ASP.NET的新性能
ASP.NET提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个ASP.NET的主题就是系统帮用户做了大部分不重要的琐碎的工作。

2、全新的构造
新的ASP.NET引入受管代码(Managed Code)这样一个全新概念,横贯整个视窗开发平台。受管代码在NGWS Runtime下运行,而NGWS Runtime是一个时间运行环境,它管理代码的执行,使程序设计更为简便。

3、高效率
对于一个程序来讲,速度是非常重要的。在ASP中为了尽可能精简程序代码,以至于不得不将代码移植到一个低性能的部件中。而ASP.NET则能妥善地解决这一问题。

4、易控制
在ASP.NET里,你将会拥有一个“Data-Bounds” (数据约束),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。

5、语言支持
ASP.NET支持多种语言,支持编译类语言,支持比如VB、VC++、C#等,它比这些编译类语言运行速度快,更适合编写大型应用。

6、更好的升级能力
快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。ASP.NET能够适应上面的要求。

2.2 C#
C#是一种面向对象的编程语言,是微软在Microsoft .NET中推出的全新语言。这种全新的面向对象的语言使得开发者可以快速的构建从底层系统级到高层商业组件的不同应用。C#在保证了强大的功能和灵活性的同时,给C和C++带来了类似于VB的快速开发,并且它还针对.NET作了特别设计,比如C#允许XML数据直接映射为它的数据类型等等,这些特性结合起来使得C#成为优秀的下一代网络编程语言。

2.3 ADO.NET对象操作数据库
在Microsoft .NET中访问数据库的技术是ADO .NET。ADO .NET提供了一组用来连接到数据库,运行命令,返回记录集的类库,与从前的ADO(ActiveX Data Object)相比,Connection和Command对象很类似,而ADO .NET的革新主要体现在如下几个方面:

首先,ADO .NET提供了对XML的强大支持,这也是ADO .NET的一个主要设计目标。在ADO .NET中通过XMLReader,XMLWriter, XMLNavigator, XMLDocument等可以方便的创建和使用XML数据,并且支持W3C 的 XSLT、DTD、XDR等标准。ADO .NET对XML的支持也为XML成为Microsoft .NET中数据交换的统一格式提供了基础。

其次,ADO .NET引入了Dataset的概念,这是一个驻于内存的数据缓冲区,它提供了数据的关系型视图。不管数据来源于一个关系型的数据库,还是来源于一个XML文档,我们都可以用一个统一的编程模型来创建和使用它。它替代了原有的Recordset的对象,提高了程序的交互性和可扩展性,尤其适合于分布式的应用场合。

另外,ADO .NET中还引入了一些新的对象,例如DataReader可以用来高效率的读取数据,产生一个只读的记录集等等。简而言之,ADO .NET通过一系列新的对象和编程模型,并与XML紧密结合,使得在Microsoft .NET中的数据操作十分方便和高效。 ASP .NET是Microsoft .NET中的网络编程结构,它使得建造、运行和发布网络应用非常方便和高效。

2.4 SQL Server
SQL Server 是Microsoft 公司发行的关系型数据库管理与分析系统,它提供了功能全面、操作简单的图形界面。SQL Server 具有较好的可伸缩性和可靠性,提供了以Web标准为基础的扩展数据库编程功能,可以满足电子商务和企业应用程序的要求。 SQL Server 支持XML和Internet标准,具有基于Web的分析能力,允许使用内置的存储过程以XML格式存储、更新、删除和检索数据。由于ASP.NET与SQL Server 都是由微软公司出品的,所以在ASP.NET应用于后台程序中,有专门针对SQL Server 的数据应用类库供用户使用,方便了用户对数据的操作。

2.5 Microsoft Visual Studio.NET
Visual Studio .NET作为微软的下一代开发工具,它和.NET 开发框架紧密结合,是构建下一代互联网应用的优秀工具。由于Visual Studio .NET通过提供一个统一的集成开发环境及工具,大大提高了开发者的效率;十分方便.NET程序的创建和调试,所以Visual Studio.NET是开发ASP.NET应用程序的常用工具。在Visual Studio.NET中用户可以直接使用它里面的组件来创建ASP.NET应用程序,同时它也是一个功能丰富的编程环境,集成了多种语言支持(如:C#、VC++、VB);简化了服务器端的开发;提供了高效地创建和使用网络服务的方法等等。当用Visual Studio.NET创建一个ASP.NET工程时,Visual Studio.NET会自动配置好IIS应用,用户直接应用即可。

3 城市公交车查询系统的分析与设计
3.1 需求分析
在此系统中,用户可以查询城市中的各条路线或站点,了解各条路线或站点的详细信息。如果用户要查询某一条线路或站点,直接就可以用该系统相对应的功能。本系统满足了以下几个要求:

操作的简易性:城市公交查询系统使用起来简单、方便、界面友好,用户操作起来得心应手。
系统功能:在该系统中,主要提供了以下几种功能:查询车站信息、车次信息、站点信息和站站信息功能,信息留言和系统管理功能。如:在查询功能中,用户输入要查询的车次等信息即可得出与它相关的结果;在系统管理功能中,管理员可以对其信息进行添加、编辑和删除等操作。

3.2 概要设计
3.2.1 系统功能描述
在用户进入主界面后,就可以通过车次查询、站点查询、站站查询、车站查询快速地查询出符合用户条件的相关线路信息。用户还可以在留言簿中直接进行留言,留言内容可以是对线路的询问,也可以对系统的不足地方提出用户自己的见解。当管理员进入系统后,可以对数据库中的信息进行添加、删除和编辑等操作。他还负责管理用户的留言信息,通过对留言信息的审核,然后来判断对留言信息是进行回复还是删除操作。

3.2.2 系统功能模块划分
在了解了系统的功能需求后,可以把该系统划分为以下3个模块:用户查询模块、留言簿模块和系统管理模块如图3-1。
在这里插入图片描述

图3-1城市公交查询系统功能模块

下面对各个模块进行描述:
1、用户查询模块
在用户查询模块中,主要是查询出用户自己所需要的线路信息,这也是整个系统最主要的功能模块。主要包括:
(1)查询车次信息:输入要查询的车次进行搜索,可以查询出于它相应的站点名和站点描述信息。
(2)查询站点信息:输入要查询的站点进行搜索,可以查询出于它相应的车次名、发车时间、收车时间和车次描述信息。如果用户不知道站点的全称,也可以在高级查询中模糊查询出含有关键字的所有站点信息。
(3)查询车站信息:选择要查询的车站进行搜索,可以查询出于它相应的车次名、发车时间、收车时间和车次描述信息
(4)查询站站信息:输入要查询的起始站和终点站进行搜索,可以查询出于它相应的乘车路线。

2、系统管理模块
在系统管理模块中,主要是对数据库中的各个表进行管理。主要包括:
(1)管理员登录。
(2)留言簿管理:可以对留言簿中的内容进行回复与删除操作。在留言簿管理中,它还含有一个搜索引擎,主要功能是管理员可以通过它搜索想要查询的留言主题,这样可以快速的找出某一主题并对它进行回复或删除等操作。
(3)站点、车次管理:可以对站点、车次基本信息和车次次序信息进行添加、删除和编辑等操作。而且它们各自都含有一个搜索引擎,这样可以快速的查询出你想要修改的站点或车次等信息,此搜索引擎采用的是模糊查找。

3、留言簿模块
在留言簿模块中,用户可以不需要注册直接在网上进行留言,也可以对某一特定地留言标题进行回复货讨论,也可以通过留言簿查看自己曾经留言过的信息。

3.2.3 系统流程设计
在城市公交查询系统中,其核心内容就是公交查询的实现。在此系统中,即实现用户查询模块中的各个功能信息。其中包括车次查询、站点查询、站站查询和车站查询功能。

此系统中,用户不需要注册就可以直接进行相关功能的查询。其中站站查询是此系统中最重要的功能。主要流程为:当程序开始时先进入正向搜索,如果正向搜索不存在所需的数据再进行反向搜索,如果正反两方都没有搜索到所需的数据则程序结束。流程如图3-2所示。
在这里插入图片描述

图3-2站站查询功能流程图
根据上图所示,在站站查询实现的过程中,它是从正反两个方面对线路进行查询。其中正向搜索线路的流程如图3-3所示。
在这里插入图片描述

图3-3正向搜索线路流程图

3.2.4 系统E-R图
针对城市公交查询系统的需求,设计如下面所示的数据项和数据结构:
(1)管理员基本信息(如图3-4):包括管理员ID,管理员名,管理员秘码。
(2)留言簿基本信息(如图3-5):包括留言簿ID,留言标题,留言者,留言内容。
(3)车次基本信息(如图3-6):包括车次ID,车次名,发车时间,收车时间,车次描述。
(4)站点基本信息(如图3-7):包括站点ID,站点名,站点描述。
(5)站点次序信息(如图3-8):包括站点次序ID,站点名,车次名,站点次序。
在这里插入图片描述

图3-4管理员基本信息E-R图
在这里插入图片描述

图3-5留言簿基本信息E-R图
在这里插入图片描述

图3-6车次基本信息E-R图
在这里插入图片描述

图3-7站点基本信息E-R图
在这里插入图片描述

图3-8站点次序信息E-R图
在了解了各实体之后,下面实现的是站点次序表、站点表、车次表之间的E-R关系模型图。站点次序表与站点表之间的关系是一对多的关系,记作1:M,站点次序表与车次表之间的关系也是一对多的关系,记作1:N,如图3-9所示。
在这里插入图片描述

图3-9站点次序表、站点表和车次表间的E-R图

4 数据库结构设计与实现
城市公交查询系统应用的是SQL Server 2000数据库管理系统。此系统使用的数据库名称为mybus,下面具体讲解数据库中各数据表的创建。
4.1 数据表的创建
该系统中共需要创建五个数据表:管理员表、留言簿表、车次基本信息表、站点基本信息表、站点次序表。
(1)管理员表admin
此表包括三个字段:一个是管理员标志adminid字段,该字段时admin表的主键;另外两个分别是管理员名和管理员密码。其详细信息如表4-1所示。
表4-1 admin表
在这里插入图片描述

(2)留言簿表 info
此表包括四个字段:其中infoID字段为info表的主键,另外三个分别为留言标题、留言者名、留言内容。其详细信息如表4-2所示。
表4-2 info表
在这里插入图片描述

(3)车次基本信息表 line
此表包括五个字段:其中lineid字段为line表的主键,另外四个分别为车次名、发车时间、收车时间和车次描述。其详细信息如表4-3所示。
表4-3 line 表
在这里插入图片描述

(4)站点基本信息表 site
此表包括三个字段:其中siteid字段为site表的主键,另外两个分别为站点名和站点描述。其详细信息如表4-4所示。
表4-4 site 表
在这里插入图片描述

(5)站点次序表 sili
此表包括四个字段:其中sitename字段和number字段为sili表的复合主键,另外三个为站点名、线路名和站点次序。其详细信息如表3-5所示。
表4-5 sili 表
在这里插入图片描述

4.2 数据库的连接
在创建完成一个ASP.NET应用程序的时候,VS会创建一个Web.Config文件。该文件定义和保存了所有ASP.NET应用程序的配置信息,这些配置采用了XML格式,具有较大的可扩展性。在web.config文件中可,项目应用的所有配置信息都包含在和标记之间,另外,可以在标记中,使用<add…/>标记中定义0到多个设置。

在本系统中,数据库连接如下:
首先:在web.config文件中设置了数据库的连接,下面是部分web.config文件的代码:

<Configuration>
//建立数据库连接
<appSettings>
<add key="ConnectionString"
Value="server= (local); database=mybus; uid=sa; pwd="/>  
</appSettings>
…………
</Configuration>

其中ConnectionString是取得或设置连接数据库的语句;server=(local)表示与数据库相连的是本机;database表示要连的数据库,本系统得数据库为mybus;uid=sa表示数据库的用户名为sa;pwd 表示连接的数据库的密码,本系统中为空。

其次:在ASP.NET后台应用中,可以通过ADO.NET的SQL Server数据库接口连接SQL Server数据库。首先要在程序的开头定义一个using System.Data.SqlClient类库,定义了它之后才可以应用SQL Server数据库接口。然后再应用程序的Page_Load()事件中,定义了数据库连接的程序应用,其代码具体如下:

…………
using System.Data.SqlClient
Private void Page_Load (object sender, System.EventArgs e)
{
string source=ConfigurationSettings.AppSettings ["ConnectionString"];
Conn=new SqlConnection (source);
}

先声明一个变量获取配置节中的配置设置,然后用SqlConnection 打开数据库的一个连接。

4.3 存储过程
在城市公交查询中,大多的数据操作都是通过存储过程来处理的。存储过程是由一些SQL语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或触发器调用。它的参数可以被传递和返回。与应用程序中的函数过程类似,存储过程可以通过名字来调用,而且它们同样有输入参数和输出参数。在应用程序中直接调用存储过程有以下好处:减少网络通信量、提高系统的运行速度、更强的适应性。

1、修改站点次序信息的存储过程
下面的存储过程的作用是根据输入的新信息来更新站点的次序信息,应用在updsite.aspx.cs中,其SQL语句如下:

Create procedure updatesili
@siliid int,
@number int,
@sitename varchar (50),
@liname varchar (50)
As
Update sili
Set
number=@number,
sitename=@sitename,
liname=@liname
Where
siliid=@siliid
GO

5 城市公交查询系统的实现
5.1 系统首页
1、首页界面
首页主要是系统的窗口,通常显示的信息最多、结构也最复杂。此界面主要是采用表格来制作的,它包括五个部分。其中有四个用户控件,它们分别是:head1.ascx、head3.ascx、head4.ascx和footer.ascx。head1.ascx主要由页面的标题,四个工具栏和一个label控件组成;head3.ascx是页面栏;head4.ascx是快速公告,主要显示公交车公司发布的关于交通和公交车的最新信息;footer.ascx主要是显示此网页的版权所有者。
此界面的具体结构排列如图5-1所示。
在这里插入图片描述

图5-1 首页界面
2、前台界面实现(default.aspx)
(1)下面的代码定义调用的文件和Form表单。

<!--下面代码是调用head1.ascx、head3.ascx、head4.ascx和footer.ascx用户控制时需在aspx文件开头部分添加的语句-->
<%@RegisterTagPrefix="LB"TagName="Header"Src="head4.ascx"%> 
<%@RegisterTagPrefix="L"TagName="Header" Src="head3.ascx"%>
<%@RegisterTagPrefix="T"TagName="Header" Src="head1.ascx"%>
<%@RegisterTagPrefix="F"TagName="Footer" Src="footer.ascx"%>
<%@ Page language="c#” Codebehind="default.aspx.cs"
AutoEventWireup="false" Inherits="ni._default" %>
……………….
<!--下面代码表示用户控件在页面中的调用和在页面中的相应位置-->
<T: HEADER id="head1" runat="server"></T: HEADER><br>
<L: HEADER id="head3" runat="server"></L: HEADER><br>
<LB: HEADER id="head4" runat="server"></LB: HEADER>
……………………
<!--下面代码表示调用Footer.ascx的语句和它在页面中的位置--<F: Footer id="footer" runat="server"></F: Footer>
3、后台应用实现(default.aspx.cs)
在default的后台应用中,主要处理带着数据的页面的跳转,其代码如下:
(1)下面代码定义命名空间和文件中使用的表格表单、相关控件变量声明等信息。
…………………
//using表示为本机的数据提供类
using System.Data.SqlClient;//使用数据库
using System.Configuration;// 在Web.config中声明的函数一般是连接数据库的避免了重复直接调用数据库连接
namespace ni  //命名空间
{
Public class _default: System.Web.UI.Page
{//相关控件的声明
……………..
Protected System.Web.UI.WebControls.TextBox Sina;
Protected System.Web.UI.WebControls.Button Button1;
Protected string searchlina="site.aspx?";
SqlConnection conn;		 

(2)下面代码定义了页面初始化过程中的数据应用,首先建立了与数据库的连接
//Page_Load事件,无论是访问者初始浏览还是通过单击按钮或因为其他事件来再次调用页面,都会触发Page_Load事件中的代码。

Private void Page_Load (object sender, System.EventArgs e)
{// 在此处放置用户代码以初始化页面
string source=ConfigurationSettings.AppSettings ["ConnectionString"];
//调用在Web.config文件中的数据库连接语句
conn=new SqlConnection(source);//打开一个连接 
}
………………………….
Private void InitializeComponent ()
{ //声明将要处理事件的方法
this.Button1.Click
+= newSystem.EventHandler (this.Button1_Click);
……………………….
this. Load += new System.EventHandler (this.Page_Load);
}

(3)下面定义的代码表示单击了按钮时,就会触发相应的事件。

Private void Button2_Click (object sender, System.EventArgs e)
{  //此事件中将页面跳转到站点查询的界面中
string sna=Sina.Text;//声明一个变量,并取得文本框中的数据
url1=searchsite+"sitename="+sna+"&";//带参数的页面跳转
url1+="";
Response.Redirect (url1); 
}
…………………..

5.2 后台管理界面
在此页面中,主要实现站点信息管理。在此页面中,还加了一个搜索引擎,以方便管理员搜索某个具体的站点信息。具体结构排列如图5-2所示。
在这里插入图片描述

图5-2 站点管理界面

1、前台界面实现(updsite.aspx)
在前台界面中主要的控件就是datagrid控件,它是对数据表的列进行操作的。它的属性是true和false。AutoGenerateColumns的默认值为true,则说明它可以自动产生列;当把AutoGenerateColumns的属性设为falsh是,datagrid控件提供5种列选择,分别为 :ButtonColum、BoundColumn、EditCommanDcolumn、HyperLinkColumn、TemplateColumn,它们的都是在标签内进行编程的。在此页面中用来共用了三种选择,包括ButtonColum、BoundColumn和EditCommanDcolumn,其代码如下:

………………………
<asp:datagridid="datagrid1"runat="server"DataKeyField="siliid" OnUpdateCommand="DataGrid_update"OnEditCommand="DataGrid_edit" OnDeleteCommand="DataGrid_delete"OnCancelCommand="DataGrid_cancel" Width="100%" AutoGenerateColumns="False" PageSize="10" AllowPaging="True" OnPageIndexChanged="DataGrid_Page"BorderColor="#999999" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="3" GridLines="Vertical">
<SelectedItemStyleFont-Bold="True"ForeColor="White"BackColor="#ccccff>
</SelectedItemStyle>
<AlternatingItemStyle BackColor="#ffe4ff"></AlternatingItemStyle>
// AlternatingItemStyle为表中偶数记录单独指定的颜色和字体
<ItemStyle ForeColor="Black" BackColor="#f1f0f4 "></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="Black" BackColor="#ffe4ff">
</HeaderStyle>
<FooterStyle ForeColor="Black" BackColor="#ffccff"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="siliid" HeaderText="序号">
</asp: BoundColumn>
<asp:BoundColumn DataField="sitename" HeaderText="站点名">
</asp: BoundColumn>
//通过datagrid控件的BoundColumn性质,可以对数据表的列进行操作
<asp:BoundColumn DataField="liname" HeaderText="线路名">
</asp: BoundColumn>
<asp:BoundColumn DataField="number" HeaderText="车序">
</asp: BoundColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑">
</asp:EditCommandColumn> //EditCommandColumn的具体功能有编辑、更新和取消,它可以实现数据的修改
<asp:ButtonColumn Text="删除" CommandName="Delete">
</asp: ButtonColumn>
//通过datagrid控件的ButtonColumn性质,可以在数据表中实现Button控件所支持的操作
</Columns>
<PagerStyleHorizontalAlign="Center"ForeColor="Black" BackColor="#ffe4ff" Mode="NumericPages">
</PagerStyle>//定义分页时显示的类型,其中显示分页的模型为数字,方向是水平方向居中。
</asp: datagrid>
…………………………

2、站点管理后台应用实现(updsite.aspx.cs)
(1)下面定义了页面初始化的应用,其代码如下:

Private void Page Load (object sender, System.EventArgs e)
{// 在此处放置用户代码以初始化页面
string source=ConfigurationSettings.AppSettings ["ConnectionString"];
Conn=new SqlConnection (source);
If (! IsPostBack)//检查目前网页是否为第一次加载,我们在page load 事件中就可以使用这个属性来避免做一些重复的动作
BindGrid ();
}

(2)下面定义了bindgrid和“返回”和“搜索”按钮的应用 ,其代码如下:

Private void Btn_back_Click (object sender, System.EventArgs e)
{//单击此按钮回到管理员页面
Page.Response.Redirect ("admin.aspx");
}
Public void BindGrid ()
{//显示站点表的所有信息
string mysql="select * from sili";
//用于填充System.Date.DataSet和更新SQL Server数据库中的一组数据命令和一个数据库连接
SqlDataAdapter da=new SqlDataAdapter (mysql, conn);
DataSet ds=new DataSet();//表示数据在内存中的缓存
da.Fill (ds);
datagrid1.DataSource=ds;
datagrid1.DataBind ();
}
Private void Button1_Click (object sender, System.EventArgs e)
{//单击此按钮可以搜索填入textbox控件中站点的相关信息
string source=ConfigurationSettings.AppSettings ["ConnectionString"];
 Conn=new SqlConnection (source);
datagrid1.CurrentPageIndex=0;
string sql="select * from sili where sitename like '%"+name. Text+"% '";//实现模糊查询
SqlDataAdapter da=new SqlDataAdapter (sql, conn);
……………………;		
}

(3)下面定义了管理员对站点次序信息修改的应用,其代码如下:

Public void DataGrid_Page (object
Sender, DataGridPageChangedEventArgs e)
{//页面分页时控制分页数据显示
//获取或设置当前显示页的索引
datagrid1.CurrentPageIndex=e.NewPageIndex;
BindGrid ();
}
Public voidDataGrid_cancel
(Objectsender, DataGridCommandEventArgs e)
{//获取或设置datagrid控件中要编辑项的索引
datagrid1.EditItemIndex=-1;
BindGrid ();
}
//实现编辑按钮功能
Public void DataGrid_edit
(Object sender, DataGridCommandEventArgs e)
{
datagrid1.EditItemIndex= (int) e.Item.ItemIndex;		
BindGrid ();
}
//更新数据库
Public void DataGrid_update
(Object sender, DataGridCommandEventArgs e)
{//调用存储过程updatesili
SqlCommand cm=new SqlCommand ("updatesili", conn);
cm.CommandType=CommandType.StoredProcedure;		
cm.Parameters.Add (new SqlParameter ("@siliid", SqlDbType.Int, 4));
cm.Parameters.Add (new SqlParameter ("@sitename", SqlDbType.VarChar, 50));
………………………
//更新数据时以文本框形式出现
string colvalue= ((TextBox) e.Item.Cells [1].Controls [0]).Text;
cm.Parameters ["@sitename"].Value=colvalue;
………………………
cm.Parameters ["@siliid"].Value=datagrid1.DataKeys [(int) e.Item.ItemIndex];
cm.Connection.Open ();
Try
//try块中通常放执行代码,一个try块后跟零活多个catch块
{
cm.ExecuteNonQuery ();
Lb2_note.Text="编辑成功!";
datagrid1.EditItemIndex=-1;
}
Catch
//catch块中处理try块引发的异常的应用程序代码
{
Lb2_note.Text="编辑失败!";
Lb2_note.Style ["color"] ="red";
}
cm.Connection.Close ();		
BindGrid ();			
}
//实现删除按钮功能
Public void DataGrid_delete
(Object sender, DataGridCommandEventArgs e)
{ //调用存储过程deletesili
SqlCommand cm=new SqlCommand ("deletesili", conn);
cm.CommandType=CommandType.StoredProcedure; 
//根据siliid参数来删除站点信息
cm.Parameters.Add (new SqlParameter ("@siliid", SqlDbType.Int, 4));
cm.Parameters ["@siliid"].Value=datagrid1.DataKeys [(int) e.Item.ItemIndex];
cm.Connection.Open ();
……………………

6 系统测试
本系统采取的测试方法是先进行各模块测试,经过修改和调整通过以后,进行总体测试,测试结果各项功能均已经或基本达到设计要求。本系统采用的测试环境是:服务器采用Windows XP操作系统+IIS信息服务管理:客户机采用Windows XP操作系统+IE浏览器。测试的主要模块包括:用户查询模块、系统管理模块和留言簿模块,其测试结果如下:

6.1 测试用户查询模块
1、车次查询
用户在进入系统后就可以进行车次查询,得出它所经过的站点等信息,此功能运行正常。
2、站点查询
用户在进入系统后可以直接进行站点查询,如果不清楚站点的全名可以进入高级搜索。在高级搜索里,可以对站点进行模糊查询,此功能运行正常。
3、站站查询
用户在进入系统后也可以直接进行站站查询,此功能实现了转站查询。在此系统中,可以实现两次转站查询,此功能运行正常。
4、车站查询
用户在进入系统后,可以选择不同的车站进行搜索,此功能运行正常。

6.2 测试系统管理模块
1、管理员登录
管理员通过他自己的名字和密码进入管理后台,此功能运行正常。
2、系统管理
管理员进入后,可以对各数据表进行添加、编辑、删除等操作。在后台页面中还存在一个搜索引擎,可以搜索要进行相关操作的数据,此功能运行正常。
6.3 测试留言簿管理
用户可以不用注册就可以在此系统中进行留言和回复等操作,此功能运行基本正常。

结 论
本设计是基于.NET开发的一个城市公交查询系统,主要实现了对车次、站点、站站、车站的查询;在系统管理中,实现了对车次、站点基本信息、站点次序信息和留言簿信息的管理。其中对于数据的操作,基本上都是通过调用存储过程来完成的,存储过程的应用对于系统的维护和提高速度具有重要的作用。

省略

参考文献
[1] (美)Fritz Onion著.ASP.NET 基础教程[M].北京:清华大学出版社,2003。
[2] 姚治安,周志宏,杨柳等著.ASP.NET精彩百例[M].北京:中国水利水电出版社,2003。
[3] (美)Greg Buxzek著,康博译.ASP.NET开发人员指南[M]. 北京:清华大学出版社,2002。
[4] (美)G…Andrew Duthie著.ASP.NET程序设计[M]. 北京:清华大学出版社,2002。
[5] 李敏波译.C#高级编程(第三版)[EB/OL]. 北京:清华大学出版社,2003。
[6] 陈明著.实用软件工程基础[M]. 北京:清华大学出版社,2002。
[7] 严蔚敏,吴伟民著.数据结构(C语言版)[M].北京:清华大学出版社,1997。
[8] 方睿,刁仁宏,吴四九著.网络数据库原理及应用[M].四川:四川大学出版社,2005。

致 谢
省略


5、资源下载

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

序号毕业设计全套资源(点击下载)
本项目源码基于C#+asp.net+sqlserver的城市公交查询系统设计与实现(源码+文档)C#.net_城市公交查询系统.zip
  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是基于C#+asp.net+sqlserver的商店积分管理系统设计实现的详细步骤: 1. 确定需求:商店积分管理系统需要实现积分的增加、减少、查询等功能,需要有管理员和用户两种角色,管理员可以对用户进行管理和积分操作,用户可以查询和使用自己的积分。 2. 数据库设计:根据需求设计数据库表,包括用户表、管理员表和积分记录表。其中用户表包含用户ID、用户名、密码、手机号码等信息;管理员表包含管理员ID、管理员名、密码等信息;积分记录表包含用户ID、积分变化、变化时间等信息。 3. 创建项目:使用Visual Studio创建ASP.NET Web Application项目,并选择MVC模板。 4. 创建模型:在Models文件夹下创建模型类,包括用户类、管理员类和积分记录类,每个类对应一个数据库表。 5. 创建控制器:在Controllers文件夹下创建控制器类,包括用户控制器和管理员控制器。控制器类中包含各种方法,用于处理用户请求并返回相应的视图。 6. 创建视图:在Views文件夹下创建各种视图,包括登录视图、注册视图、积分查询视图、积分变更视图等。视图中包含HTML和Razor语法,用于展示数据和接收用户输入。 7. 编写业务逻辑:在App_Code文件夹下创建业务逻辑类,包括用户管理类和积分管理类。业务逻辑类中实现各种数据操作方法,包括用户注册、登录、查询积分、增加积分、减少积分等。 8. 配置数据库连接:在Web.config文件中配置数据库连接字符串,以便应用程序能够连接到数据库。 9. 运行程序:在Visual Studio中按下F5键运行程序,测试各种功能是否正常。 10. 部署程序:将程序部署到服务器上,让用户可以通过浏览器访问。部署时需要将Web.config中的数据库连接字符串修改为服务器的数据库连接字符串。 以上是基于C#+asp.net+sqlserver的商店积分管理系统设计实现的详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

毕业设计方案专家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值