版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、车辆管理系统摘 要随着经济的日益增长,信息化时代已经到来,生活中各种信息趋向数字化、清晰化。单位车辆管理系统就是在这样的一个环境中诞生的,交通的日益发达,使得一个商业单位不再是简单的一辆商务车,而是有很多辆车组成,而且车型也不再单一,这使得单位车辆信息复杂化。因此我们将发挥计算机的庞大的存储空间,高性能的处理能力,高度可靠的数据安全,清晰的可视化数据等这些优势来辅助单位对车辆进行管理,实现了计算机资源的合理利用,真正实现了减少劳动力提高劳动质量的目的。本文主要分析了系统的主要组成情况,包括需求情况,系统的设计目标,数据结构,数据流程和系统的主要特点等,重点介绍了系统功能模块的详细思路和实现方法
2、,以及对系统关键技术和部分源代码的详细说明。关键词: 车辆管理,信息系统,网络数据库,控件,窗体abstractalong with economic increase increasingly, the information ages has come, every kind of information in the life incline to the arithmetic figure turns, clear turn. the unit vehicle management system is to bear in such an environment, the transp
3、ortation prospers increasingly, making a business unit not at is simple a business car, but have a lot of a cars constitute, and car type become various variety, this make the unit vehicle information complicates. therefore we will develop the huge and saving space of the calculator, the high perfor
4、mance handles ability, high dependable data safety, clear see to turn the data wait these advantages to lend support to the unit to proceed the management to the vehicle, realizes the reasonable exploitation of the calculator resources, real realizes the decrease labor force increases the purpose of
5、 the labor quantity.this text analyzes the system primarily to constitute primarily, including need analysis, the design target of the system, data construction, data flow chart with main characteristics etc. of the system, the point introduces the detailed way of thinking of the system function mol
6、d and realizes method, and elaborate on with parts of sources code to the system and key technique.keywords: vehicle manages, mis, network database, activex, form目录摘 要1abstract2第一章 引言41.1 信息管理系统简介41.2开发的背景和意义41.3系统设计的目标和主要内容4第二章系统开发的相关技术521 编程环境的选择522 关系型数据库的选择523 系统与数据库的连接实现6第三章 系统分析731 基本情况分析732 系
7、统功能分析7第四章 数据库设计841 数据库需求分析842 数据库概念结构设计943 数据库逻辑结构实现10第五章 系统实施(模块功能和详细思路)1151用户管理模块1152 车辆管理模块115.2.1 车辆信息的添加115.2.2 车辆信息的修改125.2.3 车辆信息的查询145.3 系统其他模块实现和相关技术155.3.1 司机、运营信息管理模块155.4 系统界面设计16第六章 系统特点16第七章 结束语17参考文献18第一章 引言随着信息技术广泛、深入地应用到人类社会的各个领域并发挥着越来越重要的作用。计算机软件技术应用于信息管理是发展的必然。作为计算机应用的一部分,充分发挥计算机的
8、优势,将大量复杂的数据交给计算机来处理,有着手工管理所无法比拟的优点。如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高信息管理的效率,是真正意义上的合理利用资源,也是企事业管理科学化、正规化,与世界接轨的重要条件。1.1 信息管理系统简介管理信息系统,即我们常说的mis(management information system),在强调管理,强调信息的现代化社会中变的越来越普及。mis是一门新学科,它跨越了若干领域,比如管理科学、系统科学、运筹学、统计学和计算机科学等。在这些学科的基础上,形成信息收集和加工的方法,从而形成了一个复杂的有条理的系统。目前,由
9、于开发高质量管理信息系统mis 的能力大大落后计算机硬件日新月异的进展,加上社会对管理信息系统mis 发展和完善需求的增加以及对管理信息系统mis开发过程中出现的错误认识和行为而导致mis开发的失败,这些情况已严重妨碍了计算机技术的进步。因此对mis有关的内容进行深入研究,提高工作效率,提高管理信息系统mis开发成功率已变得十分重要。1.2开发的背景和意义随着经济的日益增长,车辆作为最重要的交通工具,在企事业单位中得以普及,单位的车辆数目已经远远不止简单的几辆,与此同时就产生了车辆资源的合理分配使用问题。该问题涉及到车辆的档案管理;驾驶员档案管理;车辆(维修费用、洗车费用、养路费、燃料费用等)
10、管理;车辆使用管理和交通事故管理等。如何对一个企事业单位的车辆进行合理分配使用,使其发挥最大的使用价值,所以该系统对于一个用车单位来说,不但可以对车辆的使用进行合理的管理,而且对车辆的使用情况进行跟踪记录,这对于单位车辆责任到人,费用清晰,避免责任混乱、费用虚假等一系列相应问题的解决。1.3系统设计的目标和主要内容车辆管理系统是一个协助各单位进行全面的车辆管理的系统。包括车辆档案管理;驾驶员档案管理;车辆运营信息管理;车辆事故信息管理;车辆维修信息管理;车辆费用管理等几个功能模块。各模块之间的部分数据必须统一,如车辆事故信息管理模块中的驾驶员,事故车辆必然来自司机模块和车辆信息模块,为了可以灵
11、活的处理数据,系统应该提供一个数据接口,允许对数据进行导出处理,系统目标设计是用excel数据表导出数据,可以方便用户灵活的处理数据。同时也提供强大数据报表功能。和普通系统一样,该系统也具有一个对系统用户进行管理的,用户管理模块,包括用户添加,用户密码的修改,用户的删除(只限administrator)。第二章系统开发的相关技术单位车辆管理系统主要包括前台管理程序以及后台数据库两个方面。对于前者要求应用程序功能强大、界面友好、易于使用。而对于后者则要求建立起数据一致性、完整性和安全性的功能。当前较为流行且功能强大的ado成为了数据库连接的理想选择,而且实现又简单,同时支持本地和远程数据库。vi
12、sual basic 6.0 能够快速的开发友好的用户界面,而且有良好的数据库接口,因此,系统开发选择了visual basic 6.0。由于现在企业规模的扩大,甚至是连锁分布,为保持数据的实时和同步,故采用网络数据库sql server。21 编程环境的选择微软公司的visual basic 6.0是windows应用程序开发工具,具有直观的开发界面、先进的程序设计思想,是目前最为广泛的、易学易用的面向对象的开发工具。visual basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。vb同
13、时提供的一套完善的编译和调试系统,使得在开发过程中可以很好的解决开发过程中出现的一系列问题。vb还提供了软件发布功能,使得开发、调试到发布可以一步完成。故而,实现本系统vb是一个相对较好的选择。visual basic6.0是一门面向对象的程序设计语言,在开发过程中以对象为开发元素,每一个对象都具有一些特性和行为(属性、事件和 方法)。开发人员可以最有效利用所创建的每一个对象。同时,用户还可以自己开发控件,从而满足用户的不同的需求,这样变使得应用程序具有可通用性可说扩展性和强有力的功能。211开发工具的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用
14、最多、最为先进的可用作企业级开发工具的产品有:microsoft公司的visual basic.microsoft公司的visual c.borland公司的delphi. powersoft公司的powerbulider在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却
15、没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。作为数据库系统的开发,visual basic是一个非常理想选择。数据库是mis中的重要支持技术,在mis开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言visual basic语言,该开发工具具有很多长处:visual basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发windows环境下的种类应用程序。它简单易学、效率高,且功能强
16、大,可以与windows的专业开发工具sdk相媲美,而且程序开发人员不必具有c/c+编程基础。在visual basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用windows内部的应用程序接口(api)函数,以及动态链接库(dll)、动态数据交换(dde)、对象的链接与嵌入(ole)、开放式数据访问(odbc)等技术,可以高效、快速地开发出windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,visual basic具有以下特点:可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行
17、程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。visual basic提供了可视化设计工具,把windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。visual basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。面向对象的程序设计4.0版以后的visual basic支持面向对象的程序设计,但它与一般的面向对
18、象的程序设计语言(c+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而visual basic则是应用面向对象的程序设计方法(oop),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,visual basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。结构化程序设计语言visual basic是在basic语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。visual b
19、asic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。visual basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计visual basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.exe),脱离visual basic环境,直接在windows环境下运行。事件驱动编程机制visual basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击
20、该按钮时,将产生一个“单击“(click)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用visual basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。访问数据库visual basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理microsoft access格式的数据库,并提供了强大的数据存储和检索功能。同时,visual basic还能直接
21、编辑和访问其他外部数据库,如dbase,foxpro,paradox等,这些数据库格式都可以用visual basic编辑和处理。visual basic提供开放式数据连接,即odbc功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如sql server,oracle等。在应用程序中,可以使用结构化查询语言sql数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的sql的编程技术,为单机上运行的数据库提供了sql网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。动态数据交换(
22、dde)利用动态数据交换(dynamic data exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。visual basic提供了动态数据交换的编程技术,可以在应用程序中与其他windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。对象的链接与嵌入(ole)对象的链接与嵌入(ole)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式
23、的文件。ole技术是microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用ole技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。动态链接库(dll)visual basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将c/c+或汇编语言编写的程序加入到visual basic应用程序中,可以像调用内部函数一
24、样调用其他语言编写的函数。此外,通过动态链接库,还可以调用windows应用程序接口(api)函数,实现sdk所具有的功能。100212关系型数据库的实现access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 excel 的电子表格,可以使数据库一目了然。另外,access 允许创建自定义报表用于打印或输出数据库中的信息。access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。access 是一种关系数据库工具,关系
25、数据库是已开发的最通用的数据库之一。如上所述,access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。213二者的结合(dba)微软的jet数据库引擎提供了与数据库打交道的途径,我们是通过它以及visual basic 来访问数据库并对其进行各种操作。visual basic、access以及其他微软的软件产品都是通过共用jet数据库引擎,从而给用户提供了丰富的数据类型。data 控件在数据库中的信息与将信息显示给用户看的visual basic程序之间架起了一座桥梁。我们可以设置data控件的各个属性,告诉它要调用那个数据库的哪个部分
26、。缺省情况下,data控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。data控件还提供了用来浏览不同记录的各种跳转按钮。将data控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。22 关系型数据库的选择sql server是一种功能强大的数据库开发工具,数据库汇集了信息以供查询、存储和检索。它的优点在于强大的数据库引擎,它可以承受10000条以上的记录测试,而且数据库运行于服务器上,相对于本地数据库,可以明显的减少内存占用,提高运
27、行速度和本机的利用效率。sql数据库相对access数据库,具有更加可靠的安全性,同时具有比access更为友好的管理界面企业管理器,其中的视图可以直观的进行数据处理,同时支持直观的数据库设计,也可以通过词法分析器,使用sql语句进行数据库的各种操作,包括数据库的建立,表的建立和修改等一系列access下可以进行的操作。选择sql数据库的最主要原因是,它支持网络数据库,现在企业规模的迅速扩大,车辆作为最主要的交通工具在企业中已经大量存在,为了合理控制这些信息,最佳的调配各部门的车辆使用,采用网络数据库是最理想的选择。sql server服务器提供了可靠的数据保障,可以自动数据备份和访问日志的记
28、录,可以进行详细的数据分析等操作。采用c/s模式的设计,可以更加合理的利用企业资源,使得数据集中在一台服务器上,从来节省了数据库管理的人力资源,也使得由于非专业人士的误操作,或者别的各种电脑意外而导致数据丢失,或者别的不必要损失,所以在数据库选择上采用了sql server。23 系统与数据库的连接实现采用ado控件连接数据库和系统,ado 是为 microsoft最新和最强大的数据访问范例 ole db 而设计的,是一个便于使用的应用程序层接口。ole db 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ado 在关键的
29、 internet 方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。通过系统自带odbc的文件dsn,进行连接数据库,其中定义的时候dsn文件名为myconnection.dsn(自定义),具体数据库连接的代码如下:public function connectstring() as string connectstring = filedsn=myconnection.dsn;uid=sa;pwd= end function其中的connectstring的调用如下,这样就成功的连接了数据库 set cnn = new adodb.co
30、nnectioncnn.open connectstring第三章 系统分析31 基本情况分析现在随着企业规模的扩大以及车辆作为最为普遍的交通工具,在企业中已经不是单一的存在,由于单位车辆数目的急剧增加,与之相对应的问题随之而生,比如车辆的使用权问题,车辆的费用问题等,不再是简单的少量的数据。为了解决这一系列的问题,我们必须借助于电脑的强大的数据处理能力和存储能力,如此可以减少人力财力来维护这些数据,可以用更少的投入来换取更佳的数据管理。因此,在这样的情况下,开发单位车辆管理系统是可行的,是必要的。如今,mis开发已经慢慢的驱向成熟,车辆管理系统也有部分开发,但是都还不是十分完善。现今已经开发
31、的车辆管理系统都是针对以运营为主的具有盈利目的的单位。比如,公交管理、出租车管理、运输公司管理、汽车站点的管理,而这些管理最主要是针对盈利的管理,很少有针对各种汽车使用权、车辆调配等各种普通单位,不是以车辆运营为盈利手段的车辆管理,针对这点,此系统就是适合如今大多数企业管理的信息管理系统。32 系统功能分析根据第3.1节分析,单位车辆管理系统,应该具备以下功能:1)车辆挡案管理(1) 车辆档案输入(2) 车辆档案查询(3) 车辆异动列表(4) 车辆异动查询(5) 车辆报废(6) 车辆报废查询2)车辆运营管理(1) 车辆运营列表(2) 车辆运营查询(3) 清空运营表3)车辆管理(1) 维修管理(
32、2) 违章管理(3) 事故管理4)驾驶员管理(1) 驾驶员档案管理(2) 驾驶员档案查询(3) 驾驶员奖罚5)系统维护(1) 系统初始化(2) 管理员设置(3) 数据备份(4) 数据恢复(5) 退出系统功能模块图,如图3.1车辆管理系统维护驾驶员管理车辆管理车辆运营管理车辆挡案管理 数据表:1.车辆报废表本表的主要作用是装载车辆的基本信息情况。2. 车辆档案本表主要用于车辆档案信息。3. 车辆事故表本表主要用于车辆事故表的信息。4. 车辆违章表本表主要用于车辆违章表凭证。5. 车辆维修表本表主要用于车辆维修表数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
33、任何字典最主要的用途都是供人查阅对不了解的条目的解释。数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图的精确定义放在一起,才能共同构成系统的规格说明。系统开发时,常用卡片的形式书写保存描述一个数据元素。下面给出本系统的主要数据元素的数据字典索引卡片:名字:报废列名:报废描述:唯一地标识专业基本状况表的一个特定关键域定义:报废20字符20位置:报废表 名字:事故列名:事故描述:唯一地标识事故基本状况表的一个特定关键域定义:事故10字符10位
34、置:事故信息表 名字:违章名称描述:唯一地标识员工基本状况表的一个特定关键域定义:违章名称20字符20位置:违章成绩表 名字:维修描述:唯一地标识维修基本状况表的一个特定关键域定义:pid8字符8位置: 维修信息表 和学生成绩表 第四章 数据库设计 数据库设计在一个信息管理系统中占有十分重要的地位,数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。合理的数据库设计可以提高数据库存储的效率,保证数据的完整好一致性,保障系统不会因为数据混乱而引起运行出错,同时,合理的数据库可以减轻系统开发的工作量,提高工作效率。数据库设计应该充分考虑系统的需求,包括现在的需求,也要考虑将来的需求。(
35、1)数据库的概念数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着world wide web(www)的猛增及internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使internet应用超越具有早期应用特点的简单的发布。同时,internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程
36、过程。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可
37、比拟的优势。通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据管理技术的优劣,将直接影响数据处理的效率。数据库在一个信息管理系统中占有非常重要的位置,数据库结构设计的好坏将直接对应用系统的效果产生影响。合理的数据库设计可以提高数据库存储效率,保证数据的完整和一致。同时合理的数据结构也将有利于程序的实现。设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。(2)创建数据库文件如果操作系统中安装了access20
38、00的话,可以在开始菜单的程序菜单中可以找到。如下所示:打开access2000之后,会开启一个窗口,可选择是打开以前的数据库文件还是新建一个新的空数据库文件,如果选择空access数据库,然后点击确定按钮。这些就新建了一个数据库文件。最后一步就是要选择一个要保存数据库文件的名字和位置。点击创建就完成。(3) 怎样创建一个数据表 上面已经讲了如何创建一个数据库文件,按照上面的步骤建立一个数据库文件后,需要在数据库文件中建立一个数据表。在下面的对话框中选”使用设计器创建表”,上面还有三个按钮,一个是打开,一个是设计,一个是新建,点击设计,就可以开始设计数据表了。 出现设计的界面后,就可以开始设计
39、数据表了!(4) vb连接access2000数据库用vb编写一个管理软件,如果不能连接数据库,那也没有什么用处。先看看vb是如何与access2000数据库相连接的。sub connstr()连接数据库set conn = createobject(adodb.connection) 建立数据库连接对像dbpath = app.path & & data.mdb 设置数据的路径conn.open provider=microsoft.jet.oledb.4.0;data source= & dbpath 打开数据库连接set rs = createobject(adodb.recordset
40、) 设置数据库对像end sub上面的一段代码就是连接数据库的。上用到了三个变量conn,dbpath,rs。其中有两个变量要定义为公用的变量,因为这段代码是放在一个模块中的,为了在每一个窗体中能够使用这个变量,所以必须要声明为公用变量。声明公用变量的方法如下:public connpublic rs上面就是声明为公用变量,上面的声明一定要放在模块的最上面。如果声明在下面,那就成了局部变量,那么作用范围就会不同了,作用就更不同,而且在其它窗体中使用到了这个变量,程序会出错。41 数据库需求分析根据前面章节对系统功能的分析可以得知,用户的具体需求主要体现在各种信息的输入、保存、查询和更新,这就要
41、求数据库能充分满足各种信息的输入和输出。经过对企业车辆管理的过程得如下流程图。如图4.1图4.1驾驶员登记车辆登记驾驶员基本信息管理车辆基本信息管理基本信息录入基本信息录入业务信息管理业务方向运营信息管理维修信息管理事故信息管理费用信息管理业务信息录入业务信息录入42 数据库概念结构设计分析得上面的数据项和数据结构以后,就可以设计数据库实体,以及他们之间的关系。根据上面的设计规划出实体有:司机实体、车辆实体、运营信息实体、维修信息实体、事故信息实体、费用信息实体。各实体间的e-r关系以司机实体为例,不一一介绍。如图4.2驾驶员实体姓名性别执照号码准驾车型图4.2各实体之间关系的e-r图,如图4
42、.3驾驶员车辆业务管理业务信息业务方向运营信息维修信息事故信息费用信息图4.343 数据库逻辑结构实现经过以上需求分析和概念设计,现在将数据库结构模型转化为sql server 2000的数据库系统支持的实际数据模型,即数据字典。本系统的数据库(clgl.mdb)主要有以下表构成:1)用户表:该表主要包括该系统用户的信息和管理员的信息。2)驾驶员:该表存放的是司机的基本信息,主要包括驾照、姓名、性别、出生年月、家庭住址、准驾车型、考取驾照的时间等等。3)车辆档案:表主要存放车辆的基本信息,主要包括车牌、车型、车主、发动机号、车架号、厂家型号、车重、核定载客等信息。4)车辆运营信息表:该表主要包
43、括了运营的车辆、运营的司机、运营开始和结束的时间、运营的距离以及运营的耗费等。5)车辆维修信息表(repair):该表主要存放维修的车辆牌照、维修的日期、维修部门、维修项目、维修价格、维修配件等。6)车辆事故信息表(accident):该表存放的是车辆事故的信息,主要包括事故车辆、事故时间、事故地点、事故原因、事故对方的一些信息等,还有处、处理方式等信息第五章 系统实施(模块功能和详细思路)51用户管理模块用户管理模块主要功能是用户的添加、修改密码和删除。添加用户是所有用户都具有的功能,要求提供用户名和密码,以及密码的确认这里不做详细展开。密码的修改,考虑到用户的安全性,在修改密码的同时,要求
44、对原密码的确认,对于确认密码是用户在登录时候,在与数据库用户密码审核的时候将密码读入到全局变量password,在用户进行密码修改的时候将输入的原密码框与password进行比较,通过在核定两次密码输入是否一致,这样就实现了用户密码的安全修改。对于用户的删除,充分考虑了系统安全问题,在数据库建立的时候,初始化了一个超级管理员administrator,同时也有一个全局变量username与之对应,用于用户名的校对。只有用户名为administrator的时候才允许对用户进行删除。用户的删除对于超级管理员是完全透明的,当用超级管理员登录后,使用删除用户操作时,系统将从数据库用户表中读取所有的用户
45、名,管理员之需选定即可删除,所以说对于超级管理员是完全透明的,其中超级管理员不允许被删除。如图5.1所示,其中有两个用户admin和yjyzd是允许被删除的。52 车辆管理模块5.2.1 车辆信息的添加车辆基本信息主要包括车辆牌照、车型、发动机号等一系列信息,在信息输入完毕后,对各项信息进行确认。首先车辆牌照是唯一的,所以在写入数据库之前,先对数据库进行一次查询,查询是否存在这个即将被录入的车辆牌照,如此即避免了车辆的重复登记。车型、车主、牌照和发动机号则不允许被省略,目的是为了别的模块的连接和本身的查询。对车重和核定载客则可以为空,但当判断不为空是,就用isnumeric()进行判断,是否是
46、数据类型,如果不是则提出警告。这就是对输入数据合理性进行了审核。提交数据的时候,判断全局变量gintvmode即当前模式,如果是添加模式,则在调用这个功能的时候自动将gintvmode赋1,则调用.addnew,添加新记录。gintvmode此变量主要用于标志当前处于添加状态还是修改状态,当然在form_load的时候,如果是添加则初始化控件数组txtitem(i)为空。5.2.2 车辆信息的修改车辆信息的修改操作是在两个窗体上面实现的。首先,当调用修改功能的时候,系统将自动调用一个frmvehiclelist窗体,此窗体专门用于数据的整体显示,所以在介绍修改功能之前,有必要先谈此窗体的具体功
47、能和实现。frmvehiclelist窗体最主要的功能是显示数据、数据导出和产生报表三项功能。1)显示数据功能在数据显示方面,系统使用了一个msflexgrid控件,为了控制界面的美观,用一专门的初始化函数form_resize(),数据的显示实现的主要思想是,先根据条件进行数据库查询,默认没有条件时全体读入,将数据查询结果读入到记录集对象mrc中,然后将mrc中的数据,逐一赋值给msflexgrid控件,当然在赋值之前我们已经清楚了该数据结构,所以在初始化msflexgrid控件的时候,调用了一个显示表头的函数showtitle()函数,这个函数具体功能是根据表的数据结构,在msflexgr
48、id控件中实现各字段名称的显示和控制其宽度。在这个窗体里面有一个公共变量txtsql,用于传递查询操作的sql语句,如果不是查询操作,即sql语句传入,则自动赋以查询所有数据命令。如果是查询操作,则将查询sql语句赋值给txtsql,然后以这条查询语句进行查询。2)数据导出备份功能在窗体中还有一个导出数据按钮,作用是将已经在msflexgrid控件显示中的数据导入到excel数据表中,目的是为了实现数据的导出备份,其具体代码如下:im xlapp as excel.applicationdim xlbook as excel.workbook dim xlsheet as excel.work
49、sheet dim i as long, j as long on error goto errorhandle set xlapp = createobject(excel.application) set xlbook = xlapp.workbooks.add set xlsheet = xlbook.worksheets(1) for i = 0 to msglist.rows - 1 for j = 0 to msglist.cols - 1 xlsheet.cells(i + 1, j + 1).value = msglist.textmatrix(i, j) next j nex
50、t i xlsheet.application.visible = true set xlsheet = nothing set xlbook = nothing set xlapp = nothing exit suberrorhandle: msgbox 错误: & err.number & vbcrlf & err.description, vbokonly, 运行错误!3)数据报表功能主要是提供了,对数据库内部数据产生到一个报表工具中,报表工具是封装在一个名为llanv.dll的动态连接库中,此库提供了一些接口,包括与数据库连接的接口,与控件连接的接口等,在此设计中主要用到了数据库接口
51、,具体实现代码如下:dim osht as llanv.llan_view /定义了报表对象 dim alab() as string dim atxt() as string dim aper() as double dim nlen as long dim i as long redim alab(3) redim atxt(3) redim aper(3) nlen = 4 for i = 0 to 2 alab(i) = atxt(i) = aper(i) = 0.33 各项的宽度权数 nextdim scondesc as string数据库连接串scondesc = filedsn
52、=myconnection.dsn;uid=sa;pwd= set osht = new llanv.llan_view call osht.onsetcn_str(scondesc)连接数据库 call osht.onsetsql(select * from statistic)数据库查询 call osht.onrun(运营情况报表, alab, atxt, aper, 0)数据送到报表显示该报表提供了强大的手工修改工具,用户可以根据自己需求对表头、纸张、字体、颜色等做一系列的手工修改,如图5.2所示。通过上面frmvehiclelist从数据库中读出了数据,我们就可以选定需要修改的记录,
53、然后用右键或者菜单中的修改信息,来修改选定的信息,当你选定了一条记录并选择修改后,gintvmode将被标志成2,系统把这条记录读出,当发现标志为gintvmode为2的时候,系统就把这条记录分别赋值给添加信息的那个窗体,并将窗体名称改成修改,修改完毕后,首先在数据库中以车牌为关键字删除这条记录,然后重新插入新记录,如此就实现了数据的修改。5.2.3 车辆信息的查询此模块的查询操作允许对任何字段进行查询,具体查询界面如图5.3所示查询结果的实现也是通过5.2.2中介绍的frmvehiclelist来实现的,在查询模块中,通过用户对查询关键字的选择,系统生成一个sql命令,传递给frmvehic
54、lelist窗体的公共变量txtsql,进行查询,然后就在frmvehiclelist的msflexgrid控件中显示出来,这样便实现了数据的查询。5.3 系统其他模块实现和相关技术5.3.1 司机、运营信息管理模块司机信息管理模块主要由三个窗体组成,分别是frmdriver、frmdriverlist、frmdriverfind。其中frmdriver窗体为司机信息的添加和修改窗体,它类似于以上详细介绍的车辆信息窗体,它也是有一个全局变量gintdmode来控制是处于添加状态还是修改状态,用另外一个全局变量flagdedit来标志当前是否已经进行了数据修改,如果已经修改将值置1,在显示数据的
55、时候,如果已经修改则重新显示数据,保证显示数据与数据库的统一。数据显示窗体与车辆信息管理模块基本一致,不再做详细的介绍。查询窗体,是允许对三个关键字进行查询,如图5.4所示,只允许对其中一个关键字进行查询,实现思想是,根据用户对关键字的选择和填写,自动生成一个sql语句,赋值给显示窗体frmdriverlist的公共变量txtsql,然后进行查询最后将用户的查询结果在在窗体中显示出来,这样便实现了数据的查询。5.3.2 事故、维修息管理模块这三个模块基本的输入输出功能与前面介绍的模块大体相似,在信息录入的时候,司机和车辆牌照信息,考虑到数据库各表之间的统一,在这三个模块中的司机名称和车辆牌照两个数据项是从前面的数据库中读取的,自动添加到这边窗体中的combobox中,用户只需直接选取即可。与前面几个模块不同的地方还在于数据库中数据读取不能像前面的车辆模块一样只用车辆牌照就可以唯一的确定一条记录。比如维修信息表,一辆车可能存在很多维修记录,这样在数据查询的时候,就出现了不确定性,在这个问题是我们采用了联合查询,一辆车可以有很多维修信息,但是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年光纤熔接项目定制协议
- 2024年企业员工派遣服务协议
- 2024南京住宅二手交易协议范本
- 2024年第三方商铺租赁协议
- 商铺租赁协议书2024年
- 2024年协议管理流程及岗位职责
- 2024年担保公司贷款协议格式
- 2024水利设施堤坝施工合作协议
- 2024年酒店管理承包协议格式
- 2024年二手物资买卖协议模板
- 廉洁风险点及控制措施
- 2024年广西来宾产业投资集团有限公司招聘笔试参考题库含答案解析
- 项目管理甘特图课件
- 2024年甘肃省普通高中信息技术会考试题(含24套)
- 我国的武装力量课件
- 液化石油气瓶安全使用告知书范文
- 供应室护理责任组长竞聘
- 高中数学教师的专业发展路径
- LTC与铁三角从线索到回款
- 《旅游市场营销》课程教学设计
- 工程流体力学课后习题答案-(杜广生)
评论
0/150
提交评论