毕业论文:基于ASP.NET的网上租车管理系统的设计
淮安信息职业技术学院
题 目 基于ASP.NET的网上租车管理系统的设计
学生姓名 xxx
学 号 xx
系 部 xx
专 业 xx
班 级 xx
指导教师 xx
二〇一四年十月
摘要
摘 要
摘 要:当下社会,信息网络化成为时代的主题。许多行业在经营管理过程中对计算机技术的依赖程度也不断增强。对于网上租车行业来说,其工作管理流程复杂、多样。计算机能够使管理工作变得更加准确、高效、清晰。
本系统是为了适应目前我国网上租车公司的迅猛发展而出现的一些问题而设计的。旨为减少企业的经营成本,提高工作效率。总体实现网上租车业务管理的系统化、规范化、自动化和人性化。
本系统是基于.NET的三层架构的网上租车管理系统,采用的是B/S开发模式,该系统前台使用的是div+css进行网页的编辑与制作,后台使用ASP.NET来实现动态管理以及数据库管理系统采用SQL Server 2008等共同完成。主要实现的功能有:系统管理员对基本信息的管理、租赁业务的管理、系统用户的管理。本系统是按照系统的需求
、概要设计、详细设计、系统实施与运行以及测试等过程来完成的。
关键词:ASP.NET;SQLserver2008;网上租车管理系统
I
淮安信息职业技术学院
目 录
摘 要 ......................................................................... I 目 录 ........................................................................ II 第一章 绪论 ..................................................................... 1 1.1 本文研究的背景与意义 ............................................................... 1
1.1.1背景 ......................................................................... 1
1.1.2意义 ......................................................................... 1 1.2 国内外研究现状 ..................................................................... 1 1.3 本文所做工作 ....................................................................... 2 第二章 系统开发的相关技术概述 ..................................................... 3 2.1 SQL SERVER 2005介绍 ............................................................... 3 2.2 .NET技术 .......................................................................... 3 2.3 ADO.NET技术 ....................................................................... 4 2.4 B/S结构 ........................................................................... 4
2.4.1 B/S结构的优点 ............................................................... 4
2.4.2 B/S结构的缺点 ............................................................... 5
2.4.3 三层架构 .................................................................... 5 2.5 C#简介 ............................................................................. 6 第三章 系统的需求分析 ............................................................ 7 3.1 功能需求分析 ....................................................................... 7 3.2 系统的实现目标 ..................................................................... 7
......................................... 7 3.3 可行性分析 ................................
1. 经济可行性 ..................................................................... 7
2. 技术可行性 ..................................................................... 7
3. 社会可行性 ..................................................................... 8 第四章 设计概要及数据库的设计 ..................................................... 9 4.1 系统规划 ........................................................................... 9
4.1.1 系统功能流程 ................................................................ 9
4.1.2 系统管理功能规划 ............................................................ 9 4.2 三层架构的搭建 .................................................................... 10 4.3 数据库的设计 ...................................................................... 11
4.3.1 数据库概念设计E-R图 ....................................................... 11
4.3.2 数据库的逻辑设计 ........................................................... 13 第五章 系统实现................................................................. 16 5.1 网站前台 .......................................................................... 16
5.1.1 首页 ....................................................................... 16
5.1.2 活动公告 ................................................................... 16
5.1.3 用户注册 ................................................................... 17
5.1.4 用户登录 ................................................................... 19
II
第一章 绪论
5.1.5 账户管理 ................................................................... 20
5.1.6 用户租车 ................................................................... 22
................................... 23 5.1.7 订单提交 ................................
5.2 后台系统实现 ...................................................................... 23
5.2.1 管理员登陆后台 ............................................................. 23
5.2.2 系统用户管理 ............................................................... 24
5.2.3 车辆信息管理 ............................................................... 25
5.2.4 租车管理页面 ............................................................... 28
............................... 29 5.2.4 活动公告管理 ................................
总结与体会 .....................................................................30
致谢 ..........................................................................31 参考文献 .......................................................................32
III
第一章 绪论
第一章 绪论
1.1 本文研究的背景与意义
1.1.1背景
随着社会经济的迅速发展和科学技术的全面进步,计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。计算机进入了几乎一切领域。从科学研究到工农业生产,从企业生产管理到家庭生活,各行各业都广泛地使用着计算机。当今社会的数据信息管理离不开计算机技术的支持。如何实现对数据信息快捷、有效、实用的管理,是软件开发业追求的目标。因此,人们对于运用计算机来辅助协调和管理租赁工作的需求正在逐步提高。
在网上租车业务发展如此迅速的今天,用以前的办法来管理新的业务必然会出现很多的不足和弊端,旧的管理
的管理效率太低,安全措施也充满着缺陷,不仅浪费很多人力物力,还为资料的收集新增了很多不必要的麻烦。随着计算机的普及,它已经被应用到各个行业中,把计算机作为管理工具来管理汽车的租赁业务是在合适不过了,也是目前为止最合适的选择。因此,如果可以充分利用网上租车管理系统来对汽车进行管理,就可以减少网上租车中的很多繁琐事务,规范了企业管理和经营的行为,减少企业运行的成本费用,极大的提高了产业的工作效率。
1.1.2意义
网上租车管理系统的开发其主要目标是为客户提供方便的租车方式,减少顾客在租车过程中繁琐的步骤,帮助网上租车公司吸引更多的客户。同样也为网上租车公司提供便捷的管理方式。总体实现网上租车业务管理的系统化、规范化、自动化和人性化。
1.2 国内外研究现状
在我国,由于租车用户对汽车的喜好及用途各有不同,而往往在网上租车公司挑选汽车时间过于长,而且没有满意的车辆还会去其他公司挑选,这样不仅仅浪费了时间同时也影响了客户心情,而且在价格方面各个公司也有所不同,顾客有时也会出现现金不足等其他情况。鉴于以上情况的发生,网上租车管理系统的开发已属必然,网上租车管理系统的开发可以在网站上直接选择自己喜爱的车型,同时也可以时时了解到租金问题,也可以了解汽车的性能等其他客户锁关心的信息。
网上租车管理系统结合我国网上租车业的发展特点而进行开发,主要功能有系统用户管理、站内新闻管理、车辆信息管理、租车管理、系统公告管理、数据备份管理等几大功能。用户可以通过系统直接在网站上进行租车,管理人员可以及时获得用户租车信息,方便管理员调配车辆,管理信息。
1
淮安信息职业技术学院
1.3 本文所做工作
本论文的主要内容是网上租车管理系统的设计与实现的整个过程以及各阶段所取得的成果。论文分为五章。
第一章 绪论 阐明了选题的背景和意义。
第二章 相关技术介绍 介绍在系统的设计和开发过程中使用的主要技术,和这些技术的相应简介。
第三章 系统的需求分析 首先对整个系统的进行概述,分析系统流程,对系统的各个模块进行了用例分析。
第四章 设计概要和数据库的设计 包括对数据库总体设计和逻辑结构设计。
第五章 系统实现 对系统的各个功能模块进行实现。
2
第二章 系统开发的相关技术概述
第二章 系统开发的相关技术概述 2.1 SQL SERVER 介绍
SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、
和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。
SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
这个平台有以下特点:
(1)可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
(2)高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
(3)智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
2.2 .NET技术
Microsoft.NET 是 Microsoft.NET XML Web Services 平台。XML Web Services 允许应用程序通过 Internet 进行通讯和共享数据,而不管采用的是哪种操作系统,设备或编程语言。Microsoft.NET 平台提供XML Web Services 并将这些服务集成在一起,为个人用户的好处是无缝的,吸引人的体验。
.NET将Internet本身作为构建新一代操作系统的基础,并对Internet和操作系统的设计思想进行了延伸,使开发人员能够创建出与设备无关的应用程序,容易地实现Internet连接。
.NET开发平台由一组用于建立Web服务应用程序和Windows桌面应用程序的软件组件构成,包括.NET框架(Framework)、.NET开发者工具和ASP.NET。.NET服务器是能够提供广泛聚合和集成Web服务的服务器,是搭建.NET平台的后端基础。ASP.NET一般分为两种开发语言,VB.NET和C#。C#是 Visual Studio .NET
中引入的一种新的编程语言。C# 是一种简单、现代、类型安全和面向对象的语言。设计 C# 是为了范围广泛的企业级应用程序。用C# 编写的代码被编译为托管代码,这意味着它将受益于公共语言运行库的服务。这些服务包括:语言互操作性、垃圾回收、增强的安全性以及改进的版本支持。
在ASP .NET 中,C# 完全得到项目模板、设计器、属性页、代码助理、对
3
淮安信息职业技术学院
象模型和其他开发环境功能的支持。
2.3 ADO.NET技术
ADO.NET为用户提供了一种全新的数据库访问机制,它使数据库编程变得相当容易。ADO.NET技术的基础是XML技术,XML是由一系列的数据库相关类和接口组成的,所以通过ADO.NET不但能访问关系型数据库中的数据,而且还能访问层次化的XML数据。
ADO.NET体系结构的主要优势在于它可以使开发人员在无须考虑数据位置的情况下操作数据。ADO.NET为用户提供了两种数据访问的模式:
连接模式(Connected):利用ADO技术进行数据连接编程,是一种传统的数据库访问模式。
非连接模式(Disconnected):ADO.NET中才具有的.提供了更大的可升级性和灵活性。
在非连接模式下,应用程序从数据源中获得所需的数据,然后就断开与原数据源的连接,并将获得的数据以XML的形式存放。当应用程序处理完数据后,它再取得与原数据源的连接并完成数据的更新工作[4]。
ADO.NET中非连接模式核心就是DataSet类,数据集对象以XML的形式存放数据。数据集对象可以从一个数据库中获取,也可以从一个XML数据流中获取,所以用户不需要考虑数据源的位置。在ADO.NET体系结构中,数据提供者对象
产生数据集对象,同时它还支也是一个非常重要的部分,通过它可以访问数据库,
持连接模式下的数据库访问。
2.4 B/S结构
B/S结构是一种WEB网络结构,此模式将系统功能实现的可信部分集中到服务器上,简化系统开发、维护以及使用。B/S最大的优点就是不需要安装任何软件,只要有一台能上网的电脑即可,客户端零维护。很容易系统扩展。同时随着B/S结构的发展,使用者越来越多,推动了AJAX技术的发展,它的程序也能在客户端上进行处理,这样便减轻了服务器的负担,增加了交互性,并实现了局部实时刷新。
2.4.1 B/S结构的优点
B/S结构维护和升级方式极为简单,自需要管理服务器就可以,所有的客户端只是浏览器,不需要做任何维护。无论用户规模如何,有多少分支机构,这些都不会增加维护和升级的工作量。
成本降低,选择更多。在当今Windowsz桌面上浏览器成为了变准配置,但在服务器操作系统上它不是处于绝对的统治地位,目前使用B/S结构的应用软件,只需要安装在LINUX服务器上即可,安全性高。所以服务器操作系统选择很多。
4
第二章 系统开发的相关技术概述
2.4.2 B/S结构的缺点
B/S结构的缺点在于应用服务器运行数据负荷较重。由于B/S的管理软件只安装在服务器端,管理人员仅仅需要管理服务器,用户只需要通过浏览器实现登录。但是由于应用服务器运行数据负荷较重,一旦服务器崩溃,后果将难以估量。所以,许多公司都有备用数据库存储服务器。
2.4.3 三层架构
三层架构通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚低耦合”的思想。
三个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即把这三个层放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。
优点:
(1)维开发人员可以只关注整个结构中的其中某一层;
(2)可以很容易的用新的实现来替换原有层次的实现;
(3)可以降低层与层之间的依赖;
(4)有利于标准化;
(5)有利于各层逻辑的复用;
(6)结构更加的明确;
(7)在后期维护的时候,极大地降低了护成本和维护时间。
缺点:
(1)降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成;
(2)有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码;
(3)增加了开发成本。
5
淮安信息职业技术学院
2.5 C#简介
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
6
第三章 系统的需求分析
第三章 系统的需求分析
3.1 功能需求分析
当下社会,信息网络化成为时代的主题。许多行业在经营管理过程中对计算机技术的依赖程度也不断增强。对于网上租车行业来说,其工作管理流程复杂、多样。计算机已完全能够胜任网上租车管理工作,而且能够使管理工作变得更加准确、高效、清晰。
本系统是为了适应目前我国网上租车公司的迅猛发展而出现的一些问题而设计的。充分利用网上租车管理系统对网上租车进行管理规范企业的管理和经营行为,减少企业的经营成本,提高工作效率。总体实现网上租车业务管理的系统化、规范化、自动化和人性化。
本系统的用户为中小型汽车出租公司,其本身的计算机水平不是很高。因此,界面的友好、简洁与易用性将是首要考虑的目标。然后根据用户的需要,加强系统的稳定性和可用性,用户在使用过程中不会出现问题,而且根据用户的特点,简单容易上手是这个系统的一大特点,可以让完全不懂计算机的人马上学会操作。
3.2 系统的实现目标
本项目设定的目标如下:
(1)系统能够提供完整的用户界面,使操作人员的工作量最大限度的减少;
(2)系统具有良好的运行效率,能够得到提高生产率的目的;
(3)统应有良好的可扩充性,可以容易的加入其它系统的应用;
(4)设计具有一定的超前性,灵活性,能够适应企业生产配置的变化;
(5)这个项目可以提高个人能力。
3.3 可行性分析
1. 经济可行性
随着网购市场的快速发展,人们对电子商务有了新的认识,其实电子商务已经不仅仅是网购那么简单,互联网团购网站的流行,也是电子商务的一种。随着网络生活的不断延伸发展,电子商务的外延也在不断地发生着变化。所以建设网上租车系统平台有着可观的发展。
2. 技术可行性
开发环境:Microsoft Visual Studio 2008 集成开发环境。
开发语言: ASP.NET+C#。
后台数据库:SQL Server 2005。
开发环境运行平台:Windows XP/Windows 7/Windows Server 2003。
7
淮安信息职业技术学院
在当今行情下,家用、商用电脑的硬件配置越来越高,基本采用Windows XP及以上的操作系统,拥有1G以上的内存非常普遍,硬盘更是在250G最为常见。因此,网站在硬件方面完全可行。
ASP.NET 3.5和SQL Server 2005都为世界著名软件公司的顶尖开发人员所研发的产品,且处于不断更新换代之中,技术非常成熟。在安全性、可用性、可靠性等方面毋庸置疑。因此,网站在软件方面同样可行。
3. 社会可行性
本系统的开发研究作为计算机毕业设计,为巩固大学所学的各科知识,加深对专业知识的具体印象,没有违反国家法律法规及相关规定政策,没有违背当今社会的道德标准,危害、扰乱社会,并与业界有关规定无矛盾之处。因此在社会法律方面的可行性通过。
在人员使用方面,该系统操作方法简单、易懂,无需非常严格的计算机专业知识
。故综上所述,本系统具有社会可行性。
8
第四章 设计概要及数据库设计
第四章 设计概要及数据库的设计
4.1 系统规划
4.1.1 系统功能流程
根据业务情况及实现目标,系统功能流程图如图4-1所示。
登录
登录失败
是否成功
成功
主界面普通用户
管理员
修改个人资车辆管理用户管理公告管理浏览公告租车料
用户权限更活动公告的车辆增删改成功修改成功改增删 图4-1系统总体功能图
4.1.2 系统管理功能规划
(1)车辆信息管理
对车辆的档案进行增加、修改、删除等功能。 (2)系统用户管理
可以对用户权限的更改。
(3)修改密码管理
提供用户修改密码的功能。
(4)活动公告管理
提供最新的网上租车活动公告
(5)租车管理
系统提供全部的车辆档案,可以记录注册用户租车的所有细节信息。同时可
以删除和修改。
系统管理功能模块图如4-2所示。
9
淮安信息职业技术学院
图4-2系统管理功能模块图
4.2 三层架构的搭建
三层架构包括重要的DAL(数据访问层),BLL(业务逻辑层),UI层(显示层)这三层。还有Model(存放数据模型),DBUitility(存放DBHelper),Common(公共层)等等。
1. 建立空白的解决
文件/新建/项目弹出对话框 选择“其他项目类型”下面的“Visual Studio 解决方案” 单击“空白解决方案” 确定 完成空白方案搭建。
2. 建立类库
1) 在解决方案资源管理器中,右击“解决方案”选择“ 添加”下面的“新建项目”。。
2) 在弹出对话框中选择“Visual C#”里面的“类库”
名称:Car.BLL 业务逻辑层
名称:Car.DAL 数据访问层
名称:Car.Model 模型层
名称:Car.Common 公共层
名称:Car.DBUitility DBHelp层
3. 建立表现层
在解决方案资源管理器中,右击“解决方案”选择“ 添加”下面的“新建网站”。
在弹出对话框中选择“Asp.NET 网站” “确定” 完成表现层的搭建。
4. 添加各层之间的引用
BLL引用DAL,Model层
10
第四章 设计概要及数据库设计
DAL引用DBUitility,Model层
DBUitility引用System.configuration
WEB引用BLL, DAL,Model,Common
5. 设置起始项目以及起始页
右击ASP.NET网站,选择设为其实项目,并选择主页设为起始页。 4.3 数据库的设计
4.3.1 数据库概念设计E-R图
E-R图即实体-联系图,主要提供表示实体类型以及其属性的联系方法,并用其来描述现实中的概念模型。E-R图的基本要素有实体型、属性以及联系,它的表示方法是:
实体型:属性相同的实体同样具有相同的性质,用实体名称和其属性名称的集合来抽象描述同类型的实体;在图中用矩形表示,其名称填写在矩形框内。
属性:实体所拥有的特殊的性质,每一个实体都会有许多个属性来描述它。在图中用椭圆来表示属性并用直线将其与它对应的实体连接起来。
联系:又称关系,信息世界中反映实体内部或实体之间的关系。在图中用菱形表示,联系名称标注在菱形框内。
总ER如图4-3所示。
图4-3 总E-R图
网上租车管理系统E-R图如下:
11
淮安信息职业技术学院
1. 车辆信息实体的主要属性包括:车牌,车型,品牌,颜色,新旧程度,换挡方式,排量等。
车辆信息实体及其属性如图4-4所示。
车辆信息
车辆牌照车辆排量
车辆换挡方式车辆型号
车辆品牌车辆新旧程度
车辆颜色
图4-4 车辆信息实体及其属性图
2. 租车记录实体的主要属性包括:用户名,车牌,租金,车型,天数,备注。租车记录实体及其属性如图4-5所示。
租车记录
细节用户名
租用天数车辆车牌图4-5租车记录实体及其属性图
车辆车型日租金3. 用户信息实体的主要属性包括:ID,用户名,密码,性别,电话,地址等属性。注册用户实体及其属性如图4-6所示。
注册时间备注QQ权限
性别
地址
联系电话用户信息
ID邮箱
用户名姓名密码
图4-6 注册用户实体及其属性图
12
第四章 设计概要及数据库设计
4. 系统公告实体的主要属性包括:ID,公告标题,公告内容,公告时间。其
属性如图4-7所示。
活动公告
ID公告时间
公告标题公告内容图4-7 活动公告实体及其属性图
4.3.2 数据库的逻辑设计
1. 用户信息表(UserInfo)
用户注册表主要保存注册用户的基本信息,包括用户名,密码,姓名,联系
电话,邮箱,QQ,地址,性别,备注,权限,注册日期。主键是用户的编号。 表结构如表4.1所示。
表4.1 用户信息表,UserInfo,
序号 字段名称 字段类型 大小 允许为空 是否主键
1 ID Int 4 自增编号 是
2 UserName VarChar 50 否 否
3 UserPass VarChar 50 否 否
4 TrueName VarChar 50 否 否
5 UserTel VarChar 50 是 否
否 否 6 UserEmail VarChar 50
7 UserQQ VarChar 50 是 否
8 UserAddress VarChar 50 否 否
9 UserSex VarChar 50 否 否
10 UserNote VarChar 50 是 否
11 UserRole VarChar 50 是 否
12 UserTime DateTime 默认值 否
2. 车辆信息表(CarsInfo)
车辆信息表主要保存公司出租汽车的基本信息,包括车牌号,车型,品牌,
颜色,新旧程度,换挡方式,排量,租金,照片,出租状态,添加时间。主键是
车辆的编号。
表结构如表4.2所示。
表4.2车辆信息表(CarsInfo) 序号 字段名称 字段类型 大小 允许为空 是否主键
13
淮安信息职业技术学院
1 ID Int 4 自增编号 是
2 CarCP VarChar 50 是 否
3 CarCX VarChar 50 是 否
4 CarPP VarChar 50 是 否
5 CarYS VarChar 50 是 否
6 CarXJCD VarChar 50 是 否
7 CarHDFS VarChar 50 是 否
8 CarPL VarChar 50 是 否
9 CarZJ VarChar 50 是 否
10 CarZP VarChar 50 是 否
11 CarZT VarChar 50 是 否
12 CarSJ DateTime 8 默认值 否
3. 活动公告表(ActivityAN)
活动公告表告知用户本公司级让要搞的活动,包括题目,类别,内容,发布
时间等。主键是活动公告的编号。
表结构如表4.3所示。
表4.3活动公告表,ActivityAN,
序号 字段名称 字段类型 大小 允许为空 是否主键
1 ID Int 4 自增编号 是
2 Atitle VarChar 50 是 否
3 Acontent VarChar 500 是 否
4 Aleibie VarChar 20 是 否
5 Aaddtime DateTime 8 默认值 否
4. 租车记录表(CarRecord)
租车记录表主要保存用户租车的详细信息。包括用户名,车牌,车型,日租
金,预租天数,备注,添加时间,是否归还。主键是编号。 表结构如表4.4所示。
表4.4 租车记录表,CarRecord,
序号 字段名称 字段类型 大小 允许为空 是否主键
1 ID Int 4 自增编号 是
2 UserName VarChar 50 是 否
3 CarCP VarChar 50 是 否
4 CarCX VarChar 50 是 否
5 CarZJ VarChar 50 是 否
14
第四章 设计概要及数据库设计
(续上表)
6 CarTS VarChar 50 是 否 7 CarBZ VarChar 50 是 否 8 CarSJ DateTime 8 是 否 9 CarSFGH VarChar 2 默认值 否
15
淮安信息职业技术学院
第五章 系统实现
5.1 网站前台
5.1.1 首页
网站首页,上面的导航栏有主页,业务展示,我要租车,账号管理,联系我们。用户可以通过本网站前台实时了解到公司最新的网上租车业务的展示,活动公告,热门推荐,友情链接等等。
前台页面主要用了div布局,当登陆后,后台存有seesion值时,使登陆注册的字样隐藏。
首页如图5-1所示。
图5-1系统网站首页
5.1.2 活动公告
通过点击公告的标题,可随时了解最新活动公告。
活动公告详细内容页面如图5-2所示。
16
第五章 系统实现
图5-2 活动公告详细内容页面
5.1.3 用户注册
进入主页用户可以点击右上角的注册按钮跳转到注册页面进行注册。页面使
用了asp.net的验证控件,实现验证两次密码的一致,邮箱格式以及用户名等几个
文本框的非空。
用户注册是通过前台接收用户按照提示输入信息,然后将参数通过BLL传到
DAL层,执行函数ADD();然后返回返回一个bool类型的值,在web页面后台,
接收bool值,如果为true则添加成功,否则添加失败。部分代码如下:
public bool Add(UserInfo model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into UserInfo("); strSql.Append("UserName,UserPass,TrueName,UserTel,UserEmail,UserQQ,UserAdd
ress,UserSex)");
strSql.Append(" values (");
strSql.Append("@UserName,@UserPass,@TrueName,@UserTel,@UserEmail,@User
QQ,@UserAddress,@UserSex)");
strSql.Append(";select @@IDENTITY");
SqlParameter[] parameters = {
new SqlParameter("@UserName",
SqlDbType.NVarChar,50),
……
};
17
淮安信息职业技术学院
parameters[0].Value = model.UserName;
……
object obj = DbHelperSQL.GetSingle(strSql.ToString(),
parameters);
if (obj == null)
{
return false;
}
else
{
return true;
}
}
如图5-3所示,注册成功如图5-4所示。
图5-3用户注册页面
5-4注册成功图
18
第五章 系统实现
5.1.4 用户登录
在用户没有登录的情况下主页右上角显示登陆,注册的字样,登陆后则隐藏
该字样。用户点击登录进入登陆页面。
用户登录页面用户输入用户名和密码点击登录按钮,后台接收到数据后,先
通过IsNullOrEmpty()来验证是否为空,若不为空的话,将用户名通过BLL传到
DAL中,并执行函数GetLoginInfo();返回一个dataset数据集,页面的后台代码讲
返回值与用户输入的值匹配是否一致,如果一致,则登录成功,否则登录失败。
部分代码如下:
public DataSet GetLoginInfo(string strUserName)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select UserName,UserPass FROM UserInfo");
if (strUserName.Trim() != "")
{
strSql.Append(" where UserName='" + strUserName + "'");
}
return DbHelperSQL.Query(strSql.ToString());
}
protected void BtnLog_Click(object sender, EventArgs e)
{
if(!string.IsNullOrEmpty(txt_UserName.Text.Trim()) && !string.IsNullOrEmpty(txt_Password.Text.Trim()))
{
bool blResult = false;
string strUserName = txt_UserName.Text.Trim();
string strPassWord = txt_Password.Text.Trim();
blResult = bll.Exists(strUserName, strPassWord);
if (blResult)
{
DataSet ds = bll.GetLoginInfo(strUserName);
Session["UserName"]= ds.Tables[0].Rows[0]["UserName"].ToString(); Session["UserPass"]= ds.Tables[0].Rows[0]["UserPass"].ToString();
Response.Redirect("HomePage1.aspx");
}
19
淮安信息职业技术学院
else
{
Session["UserName"] = string.Empty;
Alerts.MessageBox(登陆成功,Page);
}
}
else
{
Alerts.MessageBox(“登录失败”,Page);
}
//Response.Redirect("HomePage1.aspx");
}
如图5-5所示。
图5-5用户登录界面
5.1.5 账户管理
用户登陆后可以通过点击账户管理来进行密码的修改,只有在用户登陆后才
可进行此操作,用户名通过Seesion传递过来,用户名不可更改。
部分代码如下:
public bool ChangeLoginPassword(UserInfo model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update UserInfo set ");
strSql.Append("UserPass=@UserPass");
strSql.Append(" where UserName=@UserName");
SqlParameter[] parameters = {
20
第五章 系统实现
new SqlParameter("@UserName",
SqlDbType.NVarChar,50),
new SqlParameter("@UserPass",
SqlDbType.NVarChar,50)};
parameters[0].Value = model.UserName;
parameters[1].Value = model.UserPass;
int rows = DbHelperSQL.ExecuteSql(strSql.ToString(),
parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (Session["User"] != null)
{
Label1.Text = Session["User"].ToString();
}
else
{
Label1.Text = "用户未登录";
}
}
private readonly UserInfoBLL bll = new UserInfoBLL();
protected void BtnXiugai_Click(object sender, EventArgs e)
{
string username = Label1.Text;
string oldpass = UserPass.Text;
string newpass = UserPass2.Text;
UserInfo model = new UserInfo();
model.UserName = username;
model.UserPass = newpass;
bool x = true;
x = bll.ChangeLoginPassword(model);
21
淮安信息职业技术学院
if (x)
{
Alerts.MessageBox("修改成功", Page);
}
else
{
Alerts.MessageBox("修改失败",Page);
}
}
}
如图5-6所示。
图5-6 修改密码
修改成功后弹出提示框,并跳转到登陆页面重新登录。 如图5-7所示。
图5-7 密码修改成功
5.1.6 用户租车
用户可以点击菜单栏我要租车来进行租车。租车页面主要利用datalist控件后台存放数据提供的数据。用户可以点击我要租车,随后进入订单填写页面。主用通过将本网页中的商品的ID值传到Order.aspx页面中,然后根据ID的值,查询得到该商品的相关信息然后填充到各个控件中。
22
第五章 系统实现
商品预览页面如图5-8所示。
图 5-8 商品浏览页面
5.1.7 订单提交
用户输入相关信息即可提交订单,如图5-9所示。
图 5-9 提交订单页面
5.2 后台系统实现
5.2.1 管理员登陆后台
管理员可以进行对车辆的增删改,对用户权限的修改,对订单的删改等操作。
成功登录后就进入本系统的主窗体界面。主窗体界面是本系统是核心,界面结构简单和方便操作是此系统一大亮点。管理员以及用户可以通过主窗体界面进入任何一个子窗体界面,从而完成对整个后台的管理。本系统的主窗体界面布局主要是用表格table和div来完成的。
主窗体设计方法如下:
在后台文件中新建一个主窗体文件main.aspx,然后利用表格对主窗体进行布局,通过使用表格的background、 align、height、 width等属性对表格的对齐方式、背景颜色,表格的宽度与高度进行调整。每个子窗体的显示是利用iframe窗体框架来完成的。
23
淮安信息职业技术学院
主窗体中包含几个管理模块包括:系统用户管理模块、车辆信息管理模块、
租车管理模块、活动公告管理模块等。每个模块都是通过链接标记输入它们的各
个链接文件,以实现进入子窗体。
登陆后如图5-10所示。
图5-10 登陆后的页面
5.2.2 系统用户管理
系统用户管理模块可以对用户的权限进行更。该模块具体实现:从数据库中
读取所有的用户名并绑定dropdownlist控件。再触发SelectedIndexChanged()事
件,当选择其中一个用户时,读取出需要的信息并显示在相应的文本框和控件
中。最后在按钮的单击事件中,经行数据的再录入,修改后的数据通过BLL传
输到DAL并执行函数update()后实现此功能。
部分代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string strWhere = "1=1";
DataSet ds = new DataSet();
ds = bll.GetList(strWhere);
DropDownList1.DataSource = ds.Tables[0].DefaultView;
DropDownList1.DataTextField = "UserName";
//dropdownlist的Text的字段
DropDownList1.DataBind();
}
}
24
第五章 系统实现
public void display()
{
string str = DropDownList1.SelectedItem.Text;
string strWhere = "UserName='" + str + "'";
DataSet ds = new DataSet();
ds = bll.GetList(strWhere);
this.TextBox1.Text = ds.Tables[0].Rows[0][9].ToString().Trim();
this.DropDownList2.Text = ds.Tables[0].Rows[0][10].ToString();
}
protected void DropDownList1_SelectedIndexChanged(object sender,
EventArgs e)
{
display();
}
用户权限修改界面如图5-11所示。
图5-11用户权限修改界面
5.2.3 车辆信息管理
1. 车辆信息查询
车辆信息查询页面如图5-12所示。
图5-12 车辆信息管理
车辆信息流程图如图5-13所示。
25
淮安信息职业技术学院
开始
连接数据库
提取全部车辆
信息
显示全部车辆
信息
合并查询条
件、执行查询图5-13车辆查询流程图
语句2. 车辆信息添加
车辆信息添加功能,在后台接受管理员根据提示输入的数据,后传到DAL
中并执行insert();函数,返回bool类型的值,判断是否插入成功。
判断查询结果是否部分代码如下: 是为空public bool Add(CarsInfo model)
{
否 StringBuilder strSql = new StringBuilder();
strSql.Append("insert into CarsInfo("); 显示没有符合列出符合条件条件的车辆信strSql.Append("CarCP,CarCX,CarPP,CarYS,CarXJCD,CarHDFS,CarPL,CarZJ,CarZP的车辆信息息)");
strSql.Append(" values ("); strSql.Append("@CarCP,@CarCX,@CarPP,@CarYS,@CarXJCD,@CarHDFS,
@CarPL,@CarZJ,@CarZP)"); 结束
strSql.Append(";select @@IDENTITY");
SqlParameter[] parameters = {
new SqlParameter("@CarCP", SqlDbType.NVarChar,50),
……
};
parameters[0].Value = model.CarCP;
……
26
第五章 系统实现
object obj = DbHelperSQL.GetSingle(strSql.ToString(),
parameters);
if (obj == null)
{
return false;
}
else
{
return true;
}
}
车辆信息添加如图5-14所示。
图5-14车辆添加界面
车辆添加流程图如图5-15所示。
开始
进入车辆信息添加界
面
输入车辆信息
提示添加失败,请判断输入时候正确否重新输入
是
图5-15 车辆添加流程图
添加成功
27
结束
淮安信息职业技术学院
3. 车辆信息更改
当管理员在dropdownlist控件中选择要修改的车辆牌照,在一下每个文本框里会出现与之相对应的数据,管理员可以修改其中的数据,最后点击更新按钮,便可以将新数据更新到数据库中。
更新代码与之前用户权限修改类似,此处不再赘述。
车辆信息更改操作 如图5-16所示:
图5-16更新成功图
5.2.4 租车管理页面
租车管理页面如图5-17所示。
图5-17 租车管理
可按车牌或车型,用户名查找已租出的车辆。此功能的实现和前面车辆查询类似。
28
第五章 系统实现
5.2.4 活动公告管理
发表公告,管理员可以在后台发表公告的界面,按照提示输入标题,内容,
并选择类别,然后点击发布即可发布活动公告。
代码则是普通的插入语句。如图5-18所示:
图5-18 公告发布图
29
淮安信息职业技术学院
总结与体会
毕业设计及论文上交的日子临近,毕业的日子也将随之而到来,我将用这门毕业设计为自己的毕业画上一个圆满的句号。毕业设计是我们学业生涯的最后一个重要环节。制作毕业设计的过程也是我们队之前学业的总结与运用,是一个再提高的机会。
通过这次对毕业设计的完成,我发现了自己的能力还是有点不足。之前对一个小项目的完成看的太清,毕业设计就是利用已学的专业知识和对想做项目的理解,分析问题解决问题。当自己真正投入进去的时候,才发现自己知道的太少,需要不断的与同学沟通,去请教老师,或是去百度。能够不断地通过自己的搜集,思考做出一点自己能看得过去的东西,就已经算是成功了。期间我明白了学习是一个长期积累的过程。在今后的工作学习道路上,还是需要不断的积累,努力提高自己的知识和综合素质。
在设计毕业设计的过程中,由于基础知识的掌握不牢固,常常会遇到很多这样那样的问题。我有过悲伤的觉得自己没用,有过失落的想要去放弃,有过满腔热血的想要搞明白,我知道这是在我人生转折点时期的一个挑战,角色的转换,需要有这种强大的适应能力和乐观的态度。这次毕业设计只是初步的经验积累,对于迈向社会是远远不够的,我必须做出做大的努力。
毕业设计的完成,让我有一只如释重负的感觉,总之我明白了知识的无线,知道有这样的知识还不行,还得真正的能够使用它,将他们拼凑成一个整体,只有真正会用的时候才能算是学会了。
在今后打的道路上,无论是学习还是工作。我们决不能忘记学习,要不断积累经验,学会与他人相处。我们还年轻,对许多事物还缺少经验,要不断的实践,动手才能有更好的发展空间。
30
致谢
致谢
在论文完成之际,我首先向关心帮助和指导我的指导老师xx表示衷心的感谢并致以崇高的敬意~
在论文工作中,遇到了诸多问题,一直得到老师的亲切关怀和悉心指导,使我可以成功的完成毕业设计,老师求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘。再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助! 值此论文完成之际,谨向老师致以最崇高的谢意!
在学校的学习生活结束之际,回首两年多的学习生活经历,面对现在的收获,我感到无限欣慰。为此,我向热心帮助过我的所有老师和同学表示由衷的感谢!
特别感谢我的师兄、师姐对我的学习和生活所提供的大力支持和关心!
在我即将完成学业之际,我深深地感谢我的家人给予我的全力支持~
最后,衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!
31
参考文献
参考文献
[1]崔建江. C#编程和 NET框架[M].1版. 北京:机械工业出版社,2012 [2]李代平,等.中文SQL Server 2000数据库应用基础[M].北京:冶金工业出版社,2002 [3]刘辉(零基础学SQL Server 2005[M](北京?机械工业出版社出版社,2006 [4]朱玉超、鞠艳、王代勇 编著《ASP.NET 项目开发教程》北京:电子工业出版社,2008 [5] 刘乃丽 编著《完全手册 ASP.NET 2.0网路开发详解》北京:电子工业出版社,2008 [6] 尚俊杰、秦卫中 编著《ASP.NET 程序设计案例教程[M]》北京:清华大学出版社,2005
[7] 陈伟 编著 《SQL Server 2005数据库应用与开发教程》北京:清华大学出版社,2007
32