毕业设计车辆租贷系统aspnet设计说明_第1页
毕业设计车辆租贷系统aspnet设计说明_第2页
毕业设计车辆租贷系统aspnet设计说明_第3页
毕业设计车辆租贷系统aspnet设计说明_第4页
毕业设计车辆租贷系统aspnet设计说明_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 . . PAGE55 / NUMPAGES56汽车租赁系统的设计与实现1 引言1.1选题背景随着市场经济的发展,我国汽车租赁行业已呈现出高速发展的态势。在很多汽车租赁企业经营规模不断扩大、采用连锁经营的情况下,手工管理无论是在工作效率、人员成本还是提供决策信息方面都已经难以适应现代化经营管理的要求,制约了汽车租赁企业的规模化发展和整体服务水平的提升。计算机与互联网技术应用于汽车租赁行业是一场突破性的革命:一方面可以加强标准化、规化业务管理,全面提高汽车租赁行业的管理水平和信息化程度;另一方面能够合理利用人力和物力资源,使人尽其才,物尽其用,有效地管理各种业务与关系,缩短销售周期、降低销售成本

2、、增加收入。目前,在汽车租赁系统中单机版的技术比较成熟和普与,即数据和程序存放在同一台计算机上,这种系统可基本满足中小型用户的需要;但随着.NET技术、网络技术和数据库技术的发展,通过网络(有线或无线)把各个分店的数据分布协同工作的汽车租赁系统逐渐成为了研究的热点,得到了越来越广泛的应用。本系统正是要研究目前汽车租赁管理系统开发中用到的先进技术,并在此技术上开发建立一个完整的系统,实现对汽车租赁系统全面高效的管理。1.2 目的和意义 开发一套运行稳定、安全可靠、操作简便、高效快捷的车辆租贷系统,帮助企业处理日常工作业务,规管理各项工作和操作流程。能够方便的实现企业的公司宣传与业务介绍。也使管理

3、员通过此系统能对合同的添加、删除、修改、查询等功能。快速准确的获取必要的信息。1.3 技术要求和设计围 如何设计好本系统,实现各个功能的完整正常运行是很重要的。后台利用Microsoft .NET Framework开发平台,在Visual Studio.NET环境下,利用C#语言和SQL Server2005数据库。实现一个基于三层架构(WEB、DAL、BLL)的车辆租贷系统。前台采用flash、DIV和CSS等技术,更加丰富公司的业务介绍和宣传,完善工作人员对业务的方便使用。1.4 发展现状汽车租赁作为汽车消费的一种形式,具有成本低、方式灵活、服务便捷等特点,未来必会有很大发展空间,相关机

4、构预测到2015年市场规模将超过350亿元。近些年,中国汽车租赁行业快速发展,出现了一批具有影响力的企业,如神州租车、一嗨租车等,2010年汽车租赁数量为20万辆,市场规模160亿。但与成熟的发达市场相比,中国的租车普与率较低,2010年为0.4%,低于美国的1.3%和日本的2.2%。我们不能简单的以国际发达市场的发展状况来推断中国市场,毕竟环境不同、客户不同、发展阶段不同,中国汽车租赁行业有其自身特征,必将发展路径也有所不同。随着互联网的快速的发展,社会化营销、第三方销售平台等手段,扩展客户入口。都是需要企业去思考未来的。所以运用互联网必将是以后此类公司争夺的重点。2 方案论证2.1 三层架

5、构2.1.1 三层架构的介绍三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高聚,低耦合”的思想。表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为

6、:数据访问层、业务逻辑层(又或称为领域层)、表示层。如图1所示:图1 分层式结构2.2 三层结构原理3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。2

7、.2.1 各层的作用数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以与对象实体的持久化。业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就

8、是对这些积木的搭建。业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在Patterns of Enterprise Application Architecture一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的

9、解决方案分离。业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在

10、业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。2.2.2 具体的区分方法数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。表示层:主要对用户的请求接受,以

11、与数据的返回,为客户端提供应用程序的访问。2.3 运行环境和开发工具的选择我主要采用ASP技术实现动态页面设计,SQLServer2005实现数据库应用和数据管理的设计方案。前台结合DIV和CSS的方案进行整个系统的设计。ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是。asp,现在常用于各种动态中。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以与

12、COM组件等。利用ASP可以向网页中添加交互式容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;(3)服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;(4)ASP提供了一些置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这

13、些信息进行处理,然后向web浏览器发送信息;(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发送Email或访问文件系统等。(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取。(7) 方便连接ACCESS与SQL数据库。(8)开发需要有丰富的经验,否则会留出漏洞,让骇客(cracker)利用进行注入攻击。DIV+CSS是标准(或称“WEB标准”)中常用术语之一,div+css 是一种网页的布局方法,这一种网页布局方法有别于传统的HTML网页设计语言中的表格(tabl

14、e)定位方式,可实现网页页面容与表现相分离。XHTML是The Extensible HyperText Markup Language(可扩展超文本标识语言)的缩写。XHTML基于可扩展标记语言(XML),是一种在HTML 基础上优化和改进的的新语言,目的是基于XML应用与强大的数据转换能力,适应未来网络应用更多的需求。在XHTML设计标准中,不再使用表格定位技术,而是采用DIV+CSS的方式实现各种定位。2.3.1 运行环境VS2008为系统运行平台,IE8.0浏览器,火狐浏览器,360浏览器, SQL Server 2005 Express Edition。Microsoft Visua

15、l Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,是对Visual Studio 2005一次与时、全面的升级。VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows应用程序。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio 2008支持项目模板、调试器和部署程序。Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包含AJAX

16、项目模板,它还可以高效开发Office应用和Mobile应用。SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。SQL Server 2005 Express Edition(仅适用于 32 位)学习版SQL Server Express 数据库平台基于 SQ

17、L Server 2005。它也可以替换 Microsoft Desktop Engine (MSDE)。通过与 Microsoft Visual Studio 2005 集成,SQL Server Express 简化了功能丰富、存储安全且部署快速的数据驱动应用程序的开发过程。2.3.2 开发工具Dreamweaver cs5,Flash,photoshop cs5。Adobe Dreamweaver CS5是一款集网页制作和管理于一身的所见即所得网页编辑器,Dreamweaver CS5是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览

18、器限制的充满动感的网页。Flash是由macromedia公司推出的交互式矢量图和 Web 动画的标准,由Adobe公司收购。网页设计者使用 Flash 创作出既漂亮又可改变尺寸的导航界面以与其他奇特的效果。Flash,是一种动画创作与应用程序开发于一身的创作软件,到2013年1月24日为止最新的零售版本为AdobeFlash Professional CS6(2012年发布)。Adobe Flash Professional CS6为创建数字动画、交互式Web站点、桌面应用程序以与手机应用程序开发提供了功能全面的创作和编辑环境。Flash广泛用于创建吸引人的应用程序,它们包含丰富的视频、声音

19、、图形和动画。可以在Flash中创建原始容或者从其它Adobe应用程序(如Photoshop或illustrator)导入它们,快速设计简单的动画,以与使用Adobe AcitonScript 3.0开发高级的交互式项目。设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的容。Flash可以包含简单的动画、视频容、复杂演示文稿和应用程序以与介于它们之间的任何容。通常,使用Flash3创作的各个容单元称为应用程序,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的Flash应用程序。Adobe Photoshop CS5Extended

20、 是电影、视频和多媒体领域的专业人士, 使用 3D 和动画的图形和 Web 设计人员, 以与工程和科学领域的专业人士的理想选择。呈现3D图像并将它合并到 2D 复合图像中。轻松编辑视频图层上的动画图形, 让时间停下来。以与使用测量、计数和可视化工具, 探查您的图像。使用Photoshop不仅可以将图像进行精确的加工,还可以将图像制作成网页动画上传到网页中 。2.3.3 sql注入原理SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系

21、统。根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面:不当的类型处理;不安全的数据库配置;不合理的查询集处理;不当的错误处理;转义字符处理不合适;多个提交处理不当。2.3.4 防止sql注入 主要有六种防止sql注入的方法。1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双-进行转换等。2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取

22、。3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。4.不要把信息直接存放,加密或者hash掉密码和敏感的信息。5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装6.sql注入的检测方法一般采取辅助软件或平台来检测,软件一般采用sql注入检测工具jsky,平台就有亿思安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。3 过程论述3.1 需求分析3.1.1 系统综合要求管理人员能够通过管理员入口输入账号、密码(本系统默认的账号密码都是Admin)选择进入合同管理或者

23、是汽车信息管理。游客通过公司的主页实现对公司业务的了解,对公司信息的了解,获得自己需求的车辆信息,获得公司的联系方式,以与需要租贷车辆的有关信息,进行会员注册。游客进行注册,注册后成为公司的会员,可以享受查看汽车信息,在线查询,在线提交租贷合同。管理人员通过前台进入合同管理,实现合同的管理。通过游客提交的租贷合同增加合同信息:通过新增的业务信息添加新的合同。删除合同信息:通过指定的合同(合同的id),删除该合同。修改合同信息:通过需要修改的合同,修改有关合同的信息(合同的填写时间、有关汽车的信息、租贷人)。显示所有的合同信息:能够在页面显示所有合同的信息。管理员通过前台进入汽车信息管理。增加汽

24、车信息:增加有关汽车的信息(汽车的名称、汽车的车牌)。删除汽车信息:通过汽车的id,删除指定的汽车。修改汽车信息:通过指定的汽车id,修改汽车的名称和汽车的车牌。显示所有的信息:在页面上显示所有的汽车信息。3.1.2 系统功能模块设计 本系统主要有以下几大功能:游客信息功能、会员业务功能、管理人员功能。如图2所示:图2 系统功能模块图3.2 汽车租贷系统的总体设计3.2.1 系统操作介绍首先浏览网页,普通游客可以浏览公司的信息,如果是管理员,输入管理员账号密码(账号密码本系统设计初都是Admin)可以进入后台进行后台的管理操作。3.2.2 系统功能图系统的基本系统功能图如图3所示:图3系统功能

25、图3.2.3 数据库设计 在设计数据库时,综合实际情况,主要设计了5个表:会员信息表、会员提交合同表、汽车信息表、车辆租贷合同表和管理员信息表。表1是会员信息标的设计。表1 会员信息表列名类型/大小键/允许空描述IdInt/4对记录标识递增量1UsernameVarchar/20否会员名PasswordVarchar/20否会员密码Varchar/20否PhonenumberVarchar/20否AddressVarchar/40否地址表2是会员提交合同表的设计表2 提交合同表列名类型/大小键/允许空描述IdInt/4对记录标识递增量1NameVarchar/20否租贷人TianshuVarc

26、har/20否需要租贷的天数CarinforVarchar/20否汽车的车牌和名称PhonenumberVarchar/20否DaytimeVarchar/20否租贷开始的日期表3是汽车信息表的设计。表3 汽车信息表列名类型/大小键/允许空描述IdInt/4对记录标识递增量1CarnameVarchar/20否汽车的名字CarnumberVarchar/20否汽车的车牌号表4是车辆租贷合同表的设计。表4 车辆租贷合同表列名类型/大小键/允许空描述IdInt/4对记录标识递增量1createTimeVarchar/20否增加合同的时间carnameVarchar/20否汽车名称和车牌号peopl

27、enameVarchar/20否租贷人的表5是管理人员表的设计表5 管理员信息表列名类型/大小键/允许空描述IdInt/4对记录标识递增量1NameVarchar/20否管理员PasswordVarchar/20否登陆密码4 汽车租贷系统详细设计4.1 数据库设计的实现 首先建立好数据库Carsystem,再建立表。实现过程在SQL2005执行下列代码。 建立数据库create database Carsystem 建立汽车信息表-create table CarInfo-(-id int identity(1,1) primary key,-carname varchar(20) not n

28、ull,- carnumber varchar(20) -)- 建立车辆租赁表create table ZfInfo(id int identity(1,1) primary key, createTime varchar(20) not null, carname varchar(20) not null, peoplename varchar(20) not null) 建立会员信息表-create table CarInfo-(- id int identity(1,1) primary key,- Username varchar(20) not null,- Password var

29、char(20) not null, varchar(20) not null,Phonenumber varchar(20) not null, Address varchar(20) not null-)建立提交合同表create table CarInfo (id int identity(1,1) primary key,Name varchar(20) not null,Tianshu varchar(20) not null, varchar(20) not null,Carinfor varchar(20) not null,Phonenumber varchar(20) not

30、 null,Daytime archar(20) not null) 建立管理人员信息表-create table CarInfo (id int identity(1,1) primary key,Name varchar(20) not null,Password varchar(20) not null)4.1.1 数据表操作类的各种方法设计 在完成前面的需求分析和数据库的建立后,现在要完成的是数据表操作类的设,在实际的项目中数据表的操作类肯定是对数据表的增删查改,数据表的增删查改我们一般来说是封装在一个类或多个类,我建立的数据库有5个数据表,相对应的是5个数据表的操作类。主要对车辆信息

31、操作类和合同信息的操作类。对汽车信息标的操作类:增加汽车信息、删除汽车信息、修改汽车信息、显示全部汽车信息。对汽车租贷合同表的操作类:增加车辆租贷合同、删除车辆租贷合同、修改车辆租贷合同、显示全部车辆租贷合同。4.1.2 整个系统构架的实现在这个项目中我们采用的是三层架构,即WEB(界面显示层)、BLL(业务逻辑层)、DAL(数据访问层)。WEB是调用BLL,BLL又是调用DAL。对数据库的访问操作全部是放在DAL中的。显而易见数据表操作类肯定是放在DAL中的。根据这些知识,现在用VS2008先建立一个取名为WEB,然后在该上分辨添加DAL、BLL和Model三个类库。DAL(数据访问层)的实

32、现:主要包括上那个类:数据库助手类,车辆信息操作类和合同信息操作类。数据库助手类,也就是提供各种各样对数据库的访问,包括对数据库的增删查改。车辆信息操作类,增加汽车信息、删除汽车信息、修改汽车信息、显示全部汽车信息。合同信息操作类,增加车辆租贷合同、删除车辆租贷合同、修改车辆租贷合同、显示全部车辆租贷合同。BLL的实现:主要包括汽车信息表业务类CarManager.cs、合同信息表业务类ZfManager.cs。实现对业务的一个综合处理。WEB的实现:主要包含三个页面:主页Default.aspx、汽车信息管理页Car.aspx和合同管理页Zf.aspx。应该也要包含母版页,考虑到该系统的页面

33、比较少,就在这里省略了。但是在实际的具体项目中不能少。4.1.3 DAL的具体实现在DAL类库中,是我们具体实现的对操作表的功能的设计,在这里是我们实现对数据库具体的操作类。首先是数据库的连接。我采用的是DAO.NET建立数据库连接。Windows 身份验证方式,因为我在建立数据库的时候是采用Windows身份验证。具体的方法如下面的代码:public SQLHelper() string conStr = Data Source= (local);Initial Catalog=Carsystem;Integrated Security=true; conn = new SqlConnect

34、ion(conStr); 建立好数据库连接,然后是实现各个操作类,在这里我主要展示汽车信息表操作类和合同信息表操作类的代码如下所示:汽车信息表操作类各种方法的实现。其中所要用到的命名空间:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;初始化的方法:public class CarInfoDAO private SQLHelper sqlhelper = null; public CarInfoDAO() sqlhelper = new SQL

35、Helper(); 增加汽车信息的方法:public bool Insert(string caName, string caNumber) bool flag = false; string sql = insert into CarInfo(carname,carnumber) values( + caName + , + caNumber + ); int res = sqlhelper.ExecuteNonQuery(sql); if (res 0) flag = true; return flag; 删除汽车信息的方法:public bool Cardelete(string caN

36、ame) bool flag = false; string sql = delete from CarInfo where carnumber= + caName + ; int res = sqlhelper.ExecuteNonQuery(sql); if (res 0) flag = true; return flag; 修改汽车的方法:public bool Carupdata(string id, string caName, string caNumber) bool flag = false; string sql = update CarInfo set carname= +

37、 caName + , carnumber= + caNumber + where id= + id + ; int res = sqlhelper.ExecuteNonQuery(sql); if (res 0) flag = true; return flag; 取出所有的汽车信息的方法:public DataTable SelectAll() DataTable dt = new DataTable(); string sql = select * from CarInfo; dt = sqlhelper.ExecuteQuery(sql); return dt; 合同信息表操作类各种方

38、法的实现初始化:private SQLHelper sqlhelper = null; public ZfInfoDAO() sqlhelper = new SQLHelper(); 增加合同信息的方法:public bool Insertzf(string caTime, string caCinfo, string caPeople) bool flag = false; string sql = insert into ZfInfo(createTime,carname,peoplename) values( + caTime + , + caCinfo + , + caPeople +

39、 ); int res = sqlhelper.ExecuteNonQuery(sql); if (res 0) flag = true; return flag; 删除具体合同信息的方法:public bool Deletezf(string caName) bool flag = false; string sql = delete from ZfInfo where peoplename= + caName + ; int res = sqlhelper.ExecuteNonQuery(sql); if (res 0) flag = true; return flag; 修改具体合同的方

40、法:public bool Updatazf(string id, string caTime, string caCinfo, string caPeople) bool flag = false; string sql = update ZfInfo set createTime= + caTime + , carname= + caCinfo + ,peoplename= + caPeople + where id= + id + ; int res = sqlhelper.ExecuteNonQuery(sql); if (res 0) flag = true; return flag

41、; 显示所有的信息合同表的方法:public DataTable SelectAllzf() DataTable dt = new DataTable(); string sql = select * from ZfInfo; dt = sqlhelper.ExecuteQuery(sql); return dt; 4.1.4 BLL的具体实现在BLL层中,我们对DAL中的各种方法进行一个再次的查询,下面我主要展示一下汽车信息业务类的方法。所用到的命名空间:using System;using System.Collections.Generic;using System.Linq;using

42、 System.Text;using DAL;using System.Data;using System.Data.SqlClient;初始化:private CarInfoDAO cdao = null; public CarManager() cdao = new CarInfoDAO(); 增加汽车信息的方法:public bool Insert(string caName, string caNumber) return cdao.Insert(caName, caNumber); 删除指定汽车的方法:public bool Cardelete(string caName) retu

43、rn cdao.Cardelete(caName); 修改汽车的方法:public bool Carupdata(string id, string caName, string caNumber) return cdao.Carupdata(id, caName, caNumber); 取出所有汽车信息的方法:public DataTable SelectAll() return cdao.SelectAll(); 4.2 汽车租贷系统所有类库与类系统所有到所有的类库与各自的类如图4所示:图4 类库与类图4.3 主页实现游客访问、管理员登陆和会员注册与访问主页设计基本设计:页面基本上分为Lo

44、go+Banner、可变区域、管理员登录、声明四个区域,其中Logo+Banner主要显示公司的logo和Banner介绍,主要用Photoshop设计一个形象的图片插入上去并调节适当的大小。可变区域主要是给用户展示本公司的介绍、业务等容,采用图片文字等容,使游客能一看便知。登陆区域主要是用于本公司部员工登陆进行后台管理和游客进行会员注册和会员登录,简单明了便可。最下面的应该是本的声明。基本页面如图5所示:图5 页面设计基本图如图所6示是整个系统的主页的整个界面,logo是整个公司的名称,中间的可变区域是主要浏览公司的业务信息、汽车信息等有关真个公司的信息,这部分是管理员在设计中插入的文字、图

45、片等信息。管理员登陆如可实现管理员登陆到后台管理。图6 主页显示图主页的html代码: 汽车租赁系统 #top width: 1150px; #main width: 1150px; #dl width: 1150px; #form1 width:1150px; .style1 font-family: 宋体, Arial, Helvetica, sans-serif; font-size: x-large; .style2 background-color: #FF6600; .style3 background-color: #FF3300; .style4 text-align: lef

46、t; 管理员登陆 会员登录 请输入管理员: 请输入会员账号: 密码: 请输入密码: 所有 聂冬佳 长江大学工程技术学院 4.4 游客和会员的功能实现游客通过会员注册页面进行会员注册。如图7是会员注册页面:图7 会员注册页面然后会员通过登录区进入会员管理页,如图8是会员管理的页面。图8 会员管理的页面4.5 后台实现租贷合同和汽车信息的管理通过主页我们在管理员登陆入口,进入汽车租贷合同管理和汽车信息的管理。如图9在登陆进入汽车租贷合同管理后,我们可以在该页面对新合同的添加,对需要修改的合同修改,对需要删除的合同进行删除。简单易于操作。图9 租贷合同管理如图10在登陆进入汽车信息管理后,我们可以在

47、该页面对新的车辆信息进行添加,对有误的汽车信息进行修改,对需要删除的汽车进行删除。图10 车辆信息管理5 主要功能界面运行情况主页运行情况如图11所示:图11 主页运行界面其中中间部分为游客浏览部分,可是是公司的信息、汽车信息的宣传,起到一个宣传本公司的作用。在会员登录处点击注册会员进行会员注册。如图12是会员注册页面。图12 会员注册页面 在会员登陆处输入账号密码进入会员管理页面。如图13是会员管理页面。图13 会员管理页面在管理员登陆入口输入:Admin 密码Admin。点击登录合同管理进入合同管理页。如图14是合同管理页面。图14 合同管理页面其中CreatTime为合同建立的时间,id

48、为系统给合同建立时自动分配的一个id,carname为汽车的名字和车牌peoplename为租贷人的。将合同“20130601 225 车牌:鄂5642 六”增加到数据表。如图15所示:图15 功能图修改id为37的合同为201300506 奥迪c4 车牌:鄂6652 小明。如图16所示:图16 功能图将合同peoplename为四的合同删除。如图17所示:图17 功能图从主页点击登录汽车信息进入汽车信息管理页。如图18所示:图18 功能图其中carname表示汽车的名称,carnumber表示车牌。将“大众cc 鄂5674”添加到汽车数据表。如图19所示图19 功能图将车牌为 鄂9865 的

49、汽车信息删除。如图20所示:图20 功能图修改id为57汽车为:宝马747 鄂1111。如图21所示:图21 功能图6 结束语 该系统是一个简单的关于三层架构的解决方案的实现与应用,系统实现的功能不是很多,但是基本上是按照三层架构的设计过程来依次实现一个完整的系统,在这次设计中,我严格按照WEB,DAL,BLL的要求来完成所有的操作。通过这次设计,我对ASP和SQL SERVER技术的运用更加熟练,也更加丰富自己对面向对象的理解,对软件的编写更加规,在完成的过程中学习和掌握了以前不知道的知识,更加的丰富了在项目实例当中的操作过程,从头到尾,自己又是后台代码编写也是前台的设计,但前台的设计不是很

50、好很完美,我想这就是自己更进一步的动力。虽然有些东西做的不是很好,但还是基本完成了实现过程中的各个操作过程以与操作方法的了解。希望在以后的学习工作你当中能更加的完善自己在编写项目当中的能力。参考文献1Julia Case Bradley, Anita C.Milspaugh.C#.NET 程序设计M.清华大学,2005年1月2 士根,汪承焱,许小东 著.Web程序设计-ASP.NET实用开发. :清华大学,20093 王小科,王军,会东等 著. C#项目开发案例全程实录. :清华大学,20114 微软公司.SQL Server 2005 数据库开发与实现.高等教育2009年8月5 微软公司.V

51、isual C# 2005 程序设计语言.高等教育2008年2月6 晖 著. 完美设计典型实例. :电子工业,20087 红,兵. ASP.NET程序设计M. :师大学,2010. 8 (美) 基斯格.构建高性能可扩展ASP.NETM. 余昭辉 译. 人民邮电,2011.9 徐洁磐,常本勤. 数据库技术原理与应用教程学习与实验指导M.:机械工业,2010.10 王秀英.SQL Server 2005实用教程M. :清华大学,2010.11 程云志 等. 数据库原理与SQL Server 2005应用教程M. :机械工业,2009.12 晓东,正礼,许小荣. ASP.NET 3.5从入门到精通M

52、. :清华大学,2009.13浦生 数据库运用技术 机械工业 2010.年1月14颖、卫琳、伟 ASP.NET 3.5 动态网络开发基础教程 清华大学 2010年4月15于国防、建 C#语言 Windows程序设计 清华大学2010年9月16 牛腩 牛腩新闻发布(项目实例视频) HYPERLINK :/ tg029 .tg029.致首先我要真诚的感娟老师。本设计在选题和完是在她的精心指导下完成的。同时我也深深的感这几年来所有代课老师和共处的同学给我的无私的帮助。在实际完成论文的过程中,由于受个人的知识、经验和能力的限制,论文肯定存在不足之处,我恳请各位老师提出批评和指正。我会在以后的学习和工作

53、中严格要求自己,努力提高自己的专业水平,以不辜负老师对我的期望。 聂冬佳 2012年5月附录SQLHelper.cs代码/* * 创建人:聂冬佳 班级:计算机60902 学校:长江大学工程技术学院 * 创建时间:2012-5-21 * 说明:数据库助手类 */using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace DAL public class SQLHelper priva

54、te SqlConnection conn = null; private SqlCommand cmd = null; private SqlDataReader sdr = null; public SQLHelper() string conStr = Data Source= (local);Initial Catalog=Carsystem;Integrated Security=true; conn = new SqlConnection(conStr); / / 该方法执行传入的增删改SQL的语句 / / 要执行的SQL语句 / 返回更新的记录数 public int Execu

55、teNonQuery(string sql) conn.Open(); cmd = new SqlCommand(sql, conn); int res = cmd.ExecuteNonQuery(); conn.Close(); return res; / / 该方法执行传入的SQL查询语句 / / SQL查询语句 / public DataTable ExecuteQuery(string sql) DataTable dt = new DataTable(); conn.Open(); cmd = new SqlCommand(sql, conn); sdr = cmd.ExecuteR

56、eader(); dt.Load(sdr); sdr.Close(); conn.Close(); return dt; CarInfoDAO.cs 代码/* * 创建人:聂冬佳 班级:计算机60902 学校:长江大学工程技术学院 * 创建时间:2012-5-22 * 说明:汽车信息表操作类 */using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;namespace DAL / / 汽车信息表操作类 / public class CarInfoDA

57、O private SQLHelper sqlhelper = null; public CarInfoDAO() sqlhelper = new SQLHelper(); / / 增加汽车信息 / / 车辆名字 / 车辆车牌 / public bool Insert(string caName, string caNumber) bool flag = false; string sql = insert into CarInfo(carname,carnumber) values( + caName + , + caNumber + ); int res = sqlhelper.Execu

58、teNonQuery(sql); if (res 0) flag = true; return flag; / / 删除指定汽车 / / 汽车车牌 / public bool Cardelete(string caName) bool flag = false; string sql = delete from CarInfo where carnumber= + caName + ; int res = sqlhelper.ExecuteNonQuery(sql); if (res 0) flag = true; return flag; / / 修改汽车信息 / / 需要修改的汽车id /

59、 修改后的名称 / 修改后的车牌号 / public bool Carupdata(string id, string caName, string caNumber) bool flag = false; string sql = update CarInfo set carname= + caName + , carnumber= + caNumber + where id= + id + ; int res = sqlhelper.ExecuteNonQuery(sql); if (res 0) flag = true; return flag; / / 取出当前所有的汽车 / / pu

60、blic DataTable SelectAll() DataTable dt = new DataTable(); string sql = select * from CarInfo; dt = sqlhelper.ExecuteQuery(sql); return dt; ZfInfoDAO.cs代码/* * 创建人:聂冬佳 班级:计算机60902 学校:长江大学工程技术学院 * 创建时间:2012-5-21 * 说明:车辆租赁表操作类 */using System;using System.Collections.Generic;using System.Linq;using Syst

温馨提示

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

评论

0/150

提交评论