基于BS模式的车辆管理系统毕业论文.doc
计算机科学系本科毕业设计(论文)设计题目 基于B/S模式的车辆管理系统 Vehicle Operations system Based On B/s Model系别 专业 班级 学号 作者姓名 指导老师 目 录第一章 引言21.1课题背景21.2课题意义2第二章. 开发技术42.1 IIS介绍42.2 ASP介绍52.3 B/S(浏览器/服务器)简介72.4数据库介绍8第三章. 系统体系结构103.1 系统需求分析103.1.1功能需求:103.1.2管理信息分析:103.1.3系统需求分析103.1.4功能需求分析113.1.5环境需求:113.1.6界面需求:113.2 可行性分析113.2.1技术可行性:113.2.2经济可行性:123.2.3应用可行性123.2.4法律可行性:1233 系统结构12第四章 系统设计144.1系统功能结构设计144.2登录模块144.3 主页面的设计与实现174.4 口令修改174.5 车辆信息修改184.6 车辆信息查询184.7 数据库的设计与实现194.7.1 实体模型194.7.2 数据库表的创建20第五章 系统实现235.1车辆查询登记:235.2.车辆统计查询:245.3 车辆变动登记25结束语29致 谢30参考文献31第一章 引言1.1课题背景随着我国经济的快速发展,人民生活水平的提高,以及人们的对物资的购买力提高,汽车已成为人们不可缺少的交通工具。特别是对于拥有大量车辆的机关企事业单位来说,车辆的管理已成为日常事务中的一项重要的工作,因此如何让管理人员及时了解每一辆车的情况,提高车辆的使用效率,减少费用支出,成为各个单位需要解决的一个难题。为了规范企业内部的管理,提高企业管理质量,更好的服务于广大的客户,我们必须要开发一套专门用于车辆管理的系统,可以集中管理车辆的运营,维修,事故,违章等一系列的信息,使企业进入车辆管理信息化,科学化。同时也可以节省人力、物力、财力。车辆管理是对车辆及驾驶员的技术监督和安全管理。管理范围包括:登记检验车辆信息,考核审验驾驶员,核发车辆号牌、行车证和驾驶证,监督车辆的制造、保养、维修和驾驶员的培训工作。目的在于提高运输效率,保证交通安全,预防犯罪分子利用车辆进行犯罪活动,维护社会治安秩序。1.2课题意义在人们的生活中,机动车辆是我们每天都离不开的交通工具,因此,我们要想能更好的使用它们,充分的发挥它们的作用,使其更好的服务于社会,就应该有一个良好的车辆管理系统。中国的经济能够飞速发展的一个必要条件就是要与世界经济接轨,而车队要想能使其中的车辆充分发挥作用,就应该有现代化的先进管理模式;而现在大多数的车队管理还都主要依靠手工操作和传统的管理模式。随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会信息社会的重要支柱。在这样的大背景下,现代车辆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在车辆工作,管理和服务平台发生的变化,车辆不再是传统的手工操作,人工管理,而是全面实行计算机管理。车辆的正常运营中总是面对大量的驾驶员信息,车辆信息以及两者相互作用产生的入库信息,因此要对驾驶员资源,车辆资源,入库信息进行管理。本系统的开发目的就是在于提高车辆管理的工作效率,加强车辆的管理,全面实行计算机管理。本车辆管理系统的主要作用是对于一个中等规模的、独立运营的车队实现车辆调度和车辆调度的有效管理。以某车队的实际管理情况为背景的,在对该车队的车辆调度、驾驶员管理、车辆管理以其业务管理的深入调研后,开发出一个实用性较强的车辆调度管理系统,以基本满足正常的车队管理。第二章. 开发技术2.1 IIS介绍Internet Information Services(IIS)5.0是Microsoft Windows 2000 Server 内建的Web伺服器,能让您在企业内部网路或网际网路上轻松共享文件和资讯。 IIS 5.0是Windows 2000 Server中最快的Web伺服器,并与Microsoft Active Directory目录服务完全整合,这种结合让以Web为基础的应用软体更可靠且更具延展性。这项新一代的电子商务解决方案把旧资料和应用软体整合到全球资讯网(WWW)中,让公司能重新定义内部与外部的不同商务处理流程。图2.1 IIS5.0机构图通用网关界面CGI(Common Gateway Interface)和网络服务 器应用程序界面ISAPI(Internet Server Application Programming Interface) 与其它相关技术: Personal Web Server 支持通用网关接口应用程序、 Internet 数据库接口 (IDC) 应用程序和 IIS 应用程序接口 (ISAPI) 应用程序。使我们能够非常方便地与Web Server进行沟通,而ASP正是进行这种沟通的 最佳语言。Windows 95(或后续版本)的 Personal Web Server 支持 运行和开发ASP 应用程序。它将成为一个个人发布服务器,而非 Web服务器。 您可以开发自己用的 ASP 应用程序,或在一个运行 Windows NT Server 的计算机上展开应用程序。要想使开发环境功能更强大,请考虑使用 Windows NT Workstation 或 Windows NT Server。Internet 服务管理器和 Microsoft 脚本调试器是 Windows NTWorkstation 上的 Personal Web Server 或在 Internet Information Server上的开发和管理特征。它们在 Windows 95 上不可用。理解Active Server Pages怎样工作的最好方法将支持它的Web server和不支持的进行对比。Microsoft利用Internet Information Server(IIS)3.0版本和Active Server Pages结合在一起。在IIS3.0中引入了Active Server Pages就能够使站点从仅仅的静态内容变成动态内容。这是什么意思呢?在前面对Active Server Pages的介绍中,IIS的主要功能是支持静态HTML主页,当用户向一个使用IIS的服务器提出请求后,服务器将会从自己的硬盘或者内存中提出一个静态主页发送到用户的浏览器上,IIS的主要作用就是作为用户浏览器到服务器硬盘的一些文件的一个有效的接口。注意:早期的IIS版本包括一个称作Internet Database Connector(IDC)的工具,IDC可以从数据库中接受和存储数据,你仍然可以利用IDC做这种工作,但是显然Active Server Pages可以做的更好。从这个意义上,IIS和其他的Web Server没有什么区别,任何Web Server的主要作用都是支持静态HTML主页。在大多数情况下,对于各种典型的Web Server来说,Web Server接收文件申请并从内存或者硬盘中读取正确的文件。Active Server Pages改变了这一切,在IIS仍然支持静态HTML主页的前提下,利用Active Server Pages可以根据用户要求在Web Server上建立新的主页。2.2 ASP介绍Active Server Pages(ASP)实际上是将标准的HTML文件拓展了一些附加特征,Active Server Pages像标准的HTML文件一样包含HTML对象并且在一个浏览器上解释并显示。任何你可以放在HTML中的东西-Java applets,闪烁字符串,客户端脚本,客户端ActiveX控件等等你都可以放在Active Server Page中。因此,一个Active Server Page有如下四个重要特征来使之具备很强的通用性。(1) 一个Active Server Page可以包括服务端脚本。利用Active Server Page中的服务端脚本,你可以创建动态内容的网页,举一个最简单的例子,你可以让网页在一天的不同时间显示不同内容。(2) 一个Active Server Page提供了一些built-in对象。利用这些Active Server Page中提供的built-in对象,你可以使你的脚本更加强大;这些对象会允许您从浏览器中接受和发送信息。例如,利用request对象,你可以将用户在HTML form中的信息接受到并在一个script中来响应它。(3) 一个Active Server Page 可以用另外的元素来扩展。Active Server Pages本身就是来源于相当数量的标准服务端ActiveX元素,这些组件允许你做诸如依据浏览器能力进行不同显示以及在浏览器内包含计数器的工作。(4) Active Server Page可以和诸如Access 2003这样的数据库进行挂接,利用一些特别的对象集合,Active Data Object(ADO),你就可以在你的Active Server Page 中使用SQL语言。再次重申,这是Active Server Page一个非常强大的功能所在,在线商务以及在线沙龙等各种非常高级的,动态更新的站点都需要数据库的支持,而且需要随数据库内容的更新而自动更新,这样,你就可以利用Active Server Pages自己建立很多类似的高级站点。以上四个特性对Active Server Page进行了限定,Active Server Page就是由Server端脚本、对象以及组件拓展过的标准主页。利用它,你的主页就可以包含动态内容。Active Server Pages (ASP) 是服务器端的脚本编写环境,您可用它来创建动态 Web 页或生成功能强大的 Web 应用程序。ASP 页是包括 HTML 标记、文本和脚本命令的文件。ASP 页可调用 ActiveX 组件来执行任务,例如连接到数据库或进行商务计算。通过 ASP,可为您的 Web 页添加交互内容或用 HTML 页构成整个 Web 应用程序,这些应用程序使用 HTML 页作为您的客户的界面。如果您是位HTML 编写人员,您将发现 ASP 脚本提供了创建交互页的简便方法。如果您曾想从 HTML 表格中收集数据,或用顾客的姓名个人化 HTML 文件,或根据浏览器的不同使用不同的特性,您会发现 ASP 提供了一个出色的解决方案。以前,要想从 HTML 表格中收集数据,就不得不学习一门编程语言来创建一个 CGI 应用程序。现在,您只要将一些简单的指令嵌入到您的 HTML 文件中,就可以从表格中收集数据并进行分析。您再不必学习完整的编程语言 或者单独编译程序来创建交互页。随着不断掌握使用 ASP和脚本语言的技巧,您可以创建更 复杂的脚本。对于 ASP,您可以便捷地使用 ActiveX 组件来执行复杂的任务,比如连接数据库以存储和检索信息。如果您已经掌握 一门脚本语言,如VBScript、JavaScript 或 PERL,而且您已经了解使用 ASP 的方法。只要安装了符合 ActiveX 脚本标准的相应脚本引擎,就可以在 ASP 页中使用任何一种脚本语言。ASP 带有 Microsoft® Visual Basic® Scripting Edition (VBScript)和 Microsoft® JScript的脚本引擎,这样您可以立即开始编辑脚本。PERL、REXX 和 Python 的ActiveX 脚本引擎可以从第三方开发人员处获得。如果您已经掌握了一门编程语言,如 Visual Basic,您将发现 ASP 是快速创建 Web 应用程序的一个非常灵活的方法。通过向 HTML 中添加脚本命令,您能够创建应用程序的 HTML 接口。通过创建自己的 ActiveX 组件,可以将应用程序中的商业逻辑封装到能够从脚本、其他组件或从其他程序中调用的模块。使用 ASP 进行计算的 Web 可转化为有形的利益,它使 Web 供应商能够提供交互的商业应用而不仅仅是发布内容。例如,旅行社能够比公布航空时刻表做得更多;用 ASP 脚本可以让客户察看现有的航班、比较费用并预定座位。ASP是一种未经编译的开放式应用软件,是微软公司推出的一种用以取代CGI(公共网关接口即Common Gateway Interface)的技术,它实质是一种服务器端脚本环境。通过ASP用户可以结合HTML网页,ASP指令和Active组件建立动态交互且商效的Web服务器应用程序。ASP并不是一种纯的编程语言,它所用的语言是我们经常用的两种脚本语言VBScript和JavaScript 。2.3 B/S(浏览器/服务器)简介B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据;最大的缺点是对网络环境依赖性太强,由于各种原因引起网络中断都会造成系统瘫痪。在B/S体系结构8系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图2-2所示。 Browse浏览器Web服务器数据库图2-2 B/S三层架构示意图 这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子"苗条"了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。2.4数据库介绍SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, SQL Server等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。 SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005 数据引擎是企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。第三章. 系统体系结构车辆管理工作非常繁杂,包括车辆查询、入库、报废等。我们力图用计算机取代人工来完成这些工作,使操作更加简单快捷。从而大大的减轻工作人员的负担。3.1 系统需求分析该过程是个不断认识不断细化的过程。这里所要完成的工作是深入描述软件的功能和性能,确定软件的设计限制和软件同其他系统元素的接口细节,从而奠定软件的开发基础。3.1.1功能需求:该系统中,管理员模块只有管理人员才能对其进行操作,一般的登录用户无权操作,系统管理人员要进行身份验证才能进入界面操作。1、由人工管理过度到机械自动化,系统化,规范化管理。2、违章车辆,事故车辆及车辆的维修费用一目了然。3、及时掌握车辆的运营情况,提高车辆的利用效率和经济利益。车辆管理系统功能主要包括:档案管理,运营管理,车辆管理,驾驶员管理,系统维护等功能。1、车辆档案录入,车辆档案查询,车辆异动,车辆异动查询,车辆报废,车辆报废查询。2、车辆运营管理,车辆运营查询,清空运营列表。3、车辆维修管理,车辆维修查询,添加零件,车辆违章管理,车辆违章查询,车辆事故管理,车辆事故查询。4、驾驶员档案,驾驶员档案查询,驾驶员奖罚。5、系统初始化,管理员设置,数据备份,数据恢复。3.1.2管理信息分析:1、 人员基本信息:车辆管理人员、驾驶员、维修人员等人员的姓名、性别、籍贯、民族、文化程度、职务、政治面貌。出生年月等信息。2、 车辆基本信息:记录车牌号、车辆类型、颜色、使用单位、发动机号、底盘号、出厂日期、购买日期等信息。3.1.3系统需求分析综合查询时系统使用价值之所在,它不仅担负着普通意义上的查询工作,更重要的是与之关联的各项工作是建立在数据的归类、统计以及分析之上。被系统拟设置人员查询、装备查询、车辆维修查询,器材库存查询和车辆费用查询等多种查询方式,通过这些查询客观衡量车辆管理保障情况。1.、车场值班员n 车辆动态登记:车场值班员必须每日将所有车辆动态填入车辆动态表内。n 车辆技术档案:车辆技术档案是车辆技术文件。记录着车辆从装备到退役、报废期间的技术状况变化。2、维修人员n 维修保养登记:维修保养登记是车辆维修保养的实际记录。n 维修机具设备等级:记录维修单位是机具设备,防止机具设备随意丢失和损坏。3.1.4功能需求分析 综上所述,我设计的系统要完成的功能模块如下: u 车辆管理(车辆建立,车辆查询,车辆删除,车辆变更查询等.)u 车辆运营管理(车辆运营表,车辆运营查询,清空车辆运营表)u 驾驶员管理(驾驶员管理,驾驶员查询等)u 耗材管理(对于油,车的耗材类管理)u 计划管理(训练,保养,维修等预定的计划)u 系统维护(系统备份,系统还原,系统检查)3.1.5环境需求:客户端应有IE或其它浏览器,服务器端应有Windows2000,WindowsNT,或WindowsXP ,服务器软件应有pws或IIS,硬件要求586以上的计算机。3.1.6界面需求:本软件主要针对中小型企业,面向大众,界面友好,操作简单灵活,根据界面上的提示便可完成一系列动作。3.2 可行性分析在软件的开发过程中,这一步是十分必要的。如果在定义阶段及早发现将来可能在开发过程中的问题,及早做出决断,可以避免大量的人力,财力和时间上的浪费。3.2.1技术可行性:通过四年的计算机学习,本人已基本掌握多种程序开发语言。特别是在题目确定后对ASP和JavaScript的强化学习,使本系统成功开发成为可能。3.2.2经济可行性:本系统有其生存空间,成功后有其市场。并且基于一种爱好去研究,但只能用用自己的电脑,可以说成本开支极其有限。3.2.3应用可行性现阶段各种各样的车辆越来越多,车辆的书也越来越多,车辆的管理工作也越来越复杂。本系统就是为了减轻车辆管理人员的工作而设计的。3.2.4法律可行性:本系统为独立完成,不关他人,开发成功后其所有权归本人所有。基于水平和时间有限,我的系统还不是十分完善。只能实现车辆管理的部分功能,并不能充分的应用于企业的车辆管理过程中,提升空间很大。33 系统结构该系统的整个结构图如下所示:程序登录主界面车辆档案管理车辆运行管理车辆管理驾驶员管理系统维护计划管理耗材管理安全教育图3-1系统结构图各功能模块是相互独立的,一个模块的内部与另一个模块的内部是不相关联的,每个模块留出一个接口供其他模块调用。也有部分模块是通用的,比如连接数据库模块,它需要经常用到,所以独立出来是最好的选择。第四章 系统设计这里的设计依赖于前面的系统分析。这里重点介绍登录模块。结构不清楚,代码便无从谈起,只要结构清楚,代码编写便可一一实现。所以设计中要先设计框架结构,再进行程序编码。 4.1系统功能结构设计根据对系统实现功能需求的分析,系统各个模块的关系如图 车 辆 管 理 系 统 档案管理车辆档案录入车辆档案查询车辆异动列表车辆异动查询车辆报废车辆报废查询运营管理车辆运营列表车辆运营查询清空运营列表车辆管理车辆维修列表车辆维修查询添加零件车辆违章列表车辆违章查询车辆事故列表车辆事故查询驾驶员档案查询驾驶员档案列表驾驶员奖罚系统初始化管理员设置数据还原复数据备份驾驶员管理系统维护图4-1系统功能结构图4.2登录模块 本模块所要实现在功能是重要的,对于用户来说,登录前后的区别在于:登录之前不是系统成员,无权操作,无权浏览;之后有权查询也有权操作。用户提交信息用HTML表单完成,需文件Index.asp。系统自动登录用ASP操作数据库完成,需要连接文件User_Login.asp。用户在Index.asp文件中输入个人信息,提交到user_login.asp文件。并由这个ASP文件进行数据库动作,根据不同的动作结果,系统将作出不同的信息反馈给用户。 图4-2 登录模块这是登录处理模块的中心,user_login.asp文件很简单:直接调用其中的登录函数action进行动作,结构如图所示。显示提示失败信息是否是管理员登录显示提示成功信息 是 否 登录结束图4-3 登录流程图登录程序被调用后,先检查该用户是否已经登录过,按是否登录进行分枝选择:对已经是登录的用户显示相应信息,若是新用户将此用户信息加入的数据库中,即为该用户登录。判断条件是通过action函数实现的,该函数利用提取的表单字段值对数据库进行查询。如果查询到结果。则表明该用户经在数据库中,即该用户是登录了。如果记录集为空则表明该用户是非法登录。编辑修改管理员是通过user_login.asp来实现的,这个方法是模块的中心,也比较复杂,其结构如图所示。是否成功数据库操作字符转换提取Form表单用户管理显示成功后返回修改结束显示失败后返回是 否图4-3 修改管理员4.3 主页面的设计与实现 图4-4 主页面该页面将本单位所有车辆进行了统计,方便管理员进行查阅,在该页面可以进行车辆信息的增、删、改、查,以随时保持最新的车辆信息。4.4 口令修改图4-5 口令修改页面口令修改可以随时更改管理员的登录密码,防止被外人盗取,维持系统信息的安全性。4.5 车辆信息修改图4-6 车辆信息修改界面每一辆车随着时间的推移信息都可能会有着不同程度的变更,该模块可以为随时修改车辆信息提供方便。4.6 车辆信息查询图4-7 车辆技术状况查询界面 该模块可以对车辆的技术状况进行查阅,以充分了解车辆在使用过程中所存在的技术状况。4.7 数据库的设计与实现4.7.1 实体模型车辆情况车辆基本特征车辆年度情况车辆统计图4-5 车辆情况实体图汽缸磨损登记车辆小修登记技术状况检查车辆变动登记总成大修登记车辆事故登记车辆技术档案图4-6 车辆技术档案实体图用车申请用车批复车辆派遣图4-7 车辆派遣实体图驾驶员信息驾驶员档案驾驶员信息统计图4-8 驾驶员信息实体图4.7.2 数据库表的创建根据数据库需求的分析,建立如下基本数据表。表4-1 车材_资源表表4-2 用户信息表图4-9 表中项目图4-10 多表之间的关系第五章 系统实现本系统是面向大众的,界面友好,操作简单,具有上网经历的人都可根据界面的提示顺利完成登录,查询,单位,归还等一系列动作功能。该应用程序经过多次调试,性能隐定,效率高。输入,输出及处理的精确度达到了工作要求标准。响应时间,处理时间均比较短暂。易于操作及运行。5.1车辆查询登记:图5-1 车辆查询登记 该模块主要实现对新增车辆基本信息的登记,如车号,金额,颜色,所属单位等,为车辆建档,方便对车辆的使用情况进行查询。5.2.车辆统计查询:图5-2 车辆统计查询 该模块是用柱状图对车辆所属单位的统计,只要进入该模块,车辆的分配情况便一目了然,方便对车辆进行分配与管理。 代码分析:<%dim total(100,2)Set rs = server.CreateObject ("Adodb.recordset")sql="select 所属单位 from 车辆基本特征 group by 所属单位"rs.open sql,conn,3,3j = 0hj = 0If rs.eof ThenResponse.write "单位无车辆"Elsedo while not rs.eofj = j + 1sybm = rs("所属单位")total(j,2) = sybmnumber = 0sql ="select * from 车辆基本特征 where 所属单位='"&sybm&"'"Set rss = server.CreateObject ("Adodb.recordset")rss.open sql,conn,3,3If not rss.eof Thennumber = rss.recordcountEnd Iftotal(j,1)=numberhj = hj + numberRs.movenextLoopCountMy = hjtotal_no=jall_width = total_no * 100 + 30total_width = total_no * 100Call table1(total,20,34,all_width,300,total_width)Set rs = nothingSet rs = server.CreateObject ("Adodb.recordset")sql="select 车辆类型,count(车辆类型) from 车辆基本特征 group by 车辆类型"rs.open sql,conn,3,3str = ""n = 0do while not rs.eofIf n > 0 Then str = str & ","str = str & rs(0) & ":" & rs(1) & "辆"n = n + 1Rs.movenextLoopSet rs = nothing5.3 车辆变动登记图5-3 车辆变动登记若单位有新增车辆或报废车辆,该模块可以方便对车辆进行增添与删除,并说明其原因,便于管理。代码分析:<td width="19%" align=right>车号:</td><td width="31%"><select name="ch"> <%Set rs_car = server.CreateObject ("Adodb.recordset")sql="select * from 车辆基本特征 where id>0"sql = sql & " order by 车号 asc"rs_car.open sql,conn,3,3 do while not rs_car.eof %> <option value="<% =rs_car("车号")%>" <%if FormatValue1(mode,rs("车号")=rs_car("车号") then %>selected<%end if%>><% =rs_car("车号")%></option> <%rs_car.movenextlooprs_car.close%> </select></td><td width="19%" align=right>变动日期:</td><td width="31%"><input type=text name="bdrq" size=12 value="<%=FormatValue1(mode,rs("变动日期")%>" <%=readonly%> dataType="Date" msg="日期格式为“<%=Date()%>”"><%If mode<>"browse" Then%> <input type="button" onClick="SelectDate('bdrq')" value="选择"> <input type="button" onClick="CancelDate('bdrq')" value="取消"><%End If%></td></tr><tr class="bg_tablebody"><td align=right>变动原因:</td><td><input type=text name=bgyy size=20 value="<%=FormatValue1(mode,rs("变动原因")%>" <%=readonly%>></td><td align=right>车架号:</td><td><input type=text name=cjh size=25 value="<%=FormatValue1(mode,rs("车架号")%>" <%=readonly%>></td></tr><tr class="bg_tablebody"><td align=right>发动机号:</td><td><input type=text name=fdjh size=25 value="<%=FormatValue1(mode,rs("发动机号")%>" <%=readonly%>></td><td align=right>驾驶员:</td><td><input type=text name=jsy size=8 value="<%=FormatValue1(mode,rs("驾驶员")%>" <%=readonly%>></td></tr><tr class="bg_tablebody"><td align=right>所属单位:</td><td colspan="3"><div style="position:absolute;width:0px;height:0px;overflow:visible;"><div style="position:absolute;top:21px;left:0px;visibility:hidden;text-align:left;overflow:visible;" id=ssdwdiv><iframe marginWidth=0 marginHeight=0 src="Select_Option.asp?tablename=车辆变动登记&itemname=所属单位&idname=ssdw" frameBorder=0 width=100 scrolling=