毕业设计(论文)-车辆信息管理系统.doc_第1页
毕业设计(论文)-车辆信息管理系统.doc_第2页
毕业设计(论文)-车辆信息管理系统.doc_第3页
毕业设计(论文)-车辆信息管理系统.doc_第4页
毕业设计(论文)-车辆信息管理系统.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

车辆信息管理系统第1章 引言1.1 课题开发背景车辆的管理在各机关、企事业单位一直是一个难题,一方面使用成本居高不下,另一方面各部门却经常抱怨不能有效地使用车辆,车辆驾驶员更多的将车辆当作私家车在使用,对车辆的使用成本不加以控制,管理部门没有有效的手段对车辆的使用、费用进行控制,也无法对车辆的使用、费用情况进行统计、分析,制定合理的使用计划,大大降低了车辆的使用效率。1.2 课题意义随着经济的日益增长,各地区的车辆数量增长迅速,由此各地的车辆管理所需要保管的机动车档案资料增加迅速。随着档案资料的增加,工作人员劳动强度增大,档案资料的存储、查询等工作与办公高效率的要求矛盾日渐突出。本论文所介绍的便是一个车辆管理系统,以规范对车辆信息的管理,提高管理效率。车辆作为最重要的交通工具,在企事业单位中得以普及,单位的车辆数目已经远远不止简单的几辆,与此同时就产生了车辆资源的合理分配使用问题。该问题涉及到车辆的档案管理;驾驶员档案管理;车辆(维修费用、洗车费用、养路费、燃料费用等)管理;车辆使用管理和交通事故管理等。如何对一个企事业单位的车辆进行合理分配使用,使其发挥最大的使用价值,所以该系统对于一个用车单位来说,不但可以对车辆的使用进行合理的管理,而且对车辆的使用情况进行跟踪记录,这对于单位车辆责任到人,费用清晰,避免责任混乱、费用虚假等一系列相应问题的解决。 1.3 研究现状在当前的车辆管理中, 主要存在下列四种主要问题: 单位车辆难控制、首长专车难管理、运营车辆难抓和事故车辆难判。针对上述情况, 一般可用惯性器件结合各种传感器加以解决, 但该方法在用于车辆事故分析、驾驶员的技术测评方面的确绰绰有余, 但是在车辆管理方面则遇到许多问题。如果利用gps 这种高科技手段, 再辅以上层管理平台, 就能将车辆管理提高到一个新的层次, 实现对车辆的智能化、科学化以及规范化的管理, 提高车辆使用效率, 降低损耗, 减少违章、违纪现象, 确保安全, 做到出入车辆有记录、单位派车有检查、单位司机有考核, 通过技术手段使严格管理落到实处, 使管理和考核更加客观、公正, 减少人为干扰。整个系统由硬件和软件两部分组成。硬件部分主要是安装在受管车辆上的车载终端, 其完成gps 数据的采集; 软件部分为车辆管理平台, 是整个系统的管理控制中心, 担负着系统数据的存储、查询、修改、维护及发布命令, 对系统进行控制等功能, 完成系统数据的采集、处理, 数字地图数据库的管理和数字地图显示, 车辆信息数据库的管理和信息查询等功能。12第2章 开发工具简介2.1 开发工具的选择系统开发平台:visual basic 6.0数据库管理系统软件:microsoft access 2000运行平台:windows xp/windows 2003/windows 2000/win7分辨率:最佳效果 1024*7682.2 visual basic简介visual basic (vb) 是在windows 的环境下运行的,支持可视化编程的、面向对象的、采用事件驱动方式的结构化程序设计语言。也是进行应用系统开发最简单的、易学易用的程序设计工具。从任何标准来说,vb是世界上使用人数最多的语言。它源自于basic编程语言,其开发的应用程序的运行采用事件驱动原理在vb代码窗口输入代码时,对vb中的对象的属性、方法、内置的函数和已定义的自定义函数等。能自动给出拼写提示,这样可大大编程人员的记忆量,程序员可以轻松的使用vb提供的组件快速建立一个应用程序。2.3 vb的发展史和特点2.3.1 vb的发展史1991年,美国微软公司推出了visual basic (vb),目前的最新版本是vb的2005中文版,visual意即可视的、可见的,指的是开发像windows操作系统的图形用户界面的方法,它不需要编写大量的代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可,basic是指beginners all_purpose symbolic instruction code 初始者通用符号指令代码语言。visual basic有学习版、专业版和企业版三种版本,以满足不同的开发需要。2.3.2 vb的特点vb是一个集成开发环境,能编程、调试和运行程序,也能生成可执行程序。用vb可以方便的开发出应用于数学计算、字符处理、数据库管理、图形图像处理及internet等各种类型的应用软件。vb的主要特点如下:1.可视界面:系统提供了大量的“界面”元素,可以直观动态地调整大小、位置,是面向对象的可视化程序设计,可以自动生成在屏幕上显示界面的代码。用户只需编写少量的程序代码,就可以快速的开发标准的windows应用程序。2.面向对象:把数据和处理数据的代码封装在frm程序中,形成一个个可视的图形对象,用户只需设计这些图形对象。3.事件驱动:单击鼠标、双击鼠标、移动鼠标、改变时间、改变大小等都称为事件。事件发生时,程序才执行;没有事件发生,则处于等待状态。4.它是一种结构化程序设计语言,具有高级程序设计语言的语句结构和数据结构。5.它可以对多种数据库系统进行访问,利用数据库控件可以访问access、server等。6.支持对象的链接与嵌入。vb能把其它windows应用程序视为对象嵌入vb应用程序中,便于更好的处理程序。7.支持动态链接库。在vb应用程序中能调用c+、汇编程序编写的函数和api函数。8.支持建立用户自己的activex控件,可以创建新控件,增加控件属性。2.4 数据库的简介与优缺点2.4.1 access的简介access 是微软公司推出的基于windows的桌面关系数据库管理系统(rdbms,即relational database management system),是office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。access能够存取 access/jet、microsoft sql server、oracle(甲骨文软件公司),或者任何 odbc 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。虽然它支援部份面向对象(oo)技术,但是未能成为一种完整的面向对象开发工具。 2.4.2 access的优缺点优点:(1)存储方式单一 access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件中,便于用户的操作和管理。 (2)面向对象 access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 (3)界面友好、易操作 access是一个可视化工具,是风格与windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 (4)集成环境、处理多种数据信息 access基于windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 (5)access支持odbc(开发数据库互连,open data base connectivity),利用access强大的dde(动态数据交换)和ole(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、excel表格、word文档,还可以建立动态的数据库报表和窗体等。access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成html文件,轻松构建internet/intranet的应用。缺点:access是小型数据库,既然是小型就有他根本的局限性,以下几种情况下数据库基本上会吃不消:(1) 数据库过大,一般access数据库达到50m左右的时候性能会急剧下降。(2) 网站访问频繁,经常达到100人左右的在线。(3) 记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降。第3章 系统总体设计3.1 系统需求分析对于拥有大量车辆的机关企事业单位来说,车辆的管理成为日常事务中的一项重要工作。如何让管理人员及时了解每一辆车的情况,提高车辆的使用率,减少费用的支出,就成为各单位需要解决的一个难题。为规范企业内部管理,提高企业管理质量,更好的服务于广大的客户,需要开发出一套专门用于车辆管理的软件。本软件需要具有集中管理车辆的运营、维修、事故、违章等一系列信息功能,有效跟踪管理企业每台汽车的使用状况,带动企业进入车辆管理信息化、科学化,同时也可以节省人力、物力、财力,提高工作效率,使企业车辆管理更加科学、更加规范。本系统主要服务于机动车管理人员的日常工作,利用本系统可以方便的监控管理本区域的驾驶员信息,在此基础上力求软件界面人性化以及操作简单,程序具有健壮性等。3.2 系统概要设计 3.2.1 系统结构设计车辆管理系统是一个非常有特点的管理软件,系统由车辆档案管理、车辆运营列表、车辆管理、驾驶员管理、系统设置、系统维护等几个功能模块组成。规划系统功能模块如下:车辆档案管理:车辆档案录入、车辆档案查询、车辆异动列表、车辆异动查询、车辆报废、车辆报废查询。车辆运营管理:车辆运营管理、车辆运营查询、清空运营表。车辆管理:维修管理、违章管理、事故管理3大部分。其中维修管理包括车辆维修列表、车辆维修查询、添加零件。违章管理包括车辆违章列表、车辆违章查询;事故管理包括车辆事故列表、车辆事故查询。系统设置:系统初始化、管理员设置、权限设置。系统维护:数据备份、数据恢复2个部分。如图3.1和3.2所示:图 3.1 系统部分流程图图 3.2 系统结构图3.2.2 数据库设计在信息管理系统中,数据都保存在数据库中,所以数据库的设计在开发系统之前就应该确定,而且非常重要。在vb中,访问数据库一般有两种方式。一种是非编码方式,主要通过data等控件,可以不需要任何编程,只需要简单设置控件的一些属性并结合文本框等普通控件即可以方便地显示和操作数据库中的数据。二是通过编写代码,即利用数据访问对象(dao)来实现。本系统中运用了数据库access2000作为后台数据库。在系统中主要运用了ado控件来访问数据库的方法,从而节省了大量的工作量。(1)如图3.3所示:图3.3车辆报废表e-r图如表3.1所示:表3.1车辆报废表字段名称数据类型车牌号码文本报废原因文本报废日期日期/时间经手人文本备注备注(2)如图3.4所示:图3.4 车辆档案表e-r图如表3.2所示:表3.2 车辆档案表字段名称数据类型车牌号码文本车牌类型文本驾驶员编号文本购置日期日期/时间厂牌编号文本使用人或单位文本年险否文本异动否文本报废否文本异动否文本(3)如图3.5所示:图3.5 车辆违章表e-r图如表3.3所示:表3.3 车辆违章表字段名称数据类型车牌号码文本原因文本处罚 文本违章时间文本备注备注(4)如图3.6所示:图3.6 车辆维修表e-r图如表3.4所示:表3.4 车辆维修表字段名称数据类型车牌号码文本更换零件1文本零件1数量文本更换零件2日期/时间零件2数量文本更换零件3文本零件3数量文本 维修日期日期/时间共计费用文本备注备注(5)如图3.7所示:图3.7 车辆运营表e-r图如表3.5所示:表3.5 车辆运营表字段名称数据类型运营编号文本车牌号码文本运营日期日期/时间运营收入文本备注备注(6)如图3.8所示:图3.8 零件表e-r图如表3.6所示:表3.6 零件表字段名称数据类型零件名文本单价文本(7)如图3.9所示:图3.15 用户表e-r图如表3.7所示:表3.7 用户表字段名称数据类型用户姓名文本密码文本用户类型文本车辆信息管理系统第4章 系统应用程序设计4.1 程序主界面的设计程序启动后,在系统登录界面验证操作员密码后,将进入程序主界面。通过程序主界面将会执行相应的权限操作,并且还可以通过主界面的菜单,来调用相应程序,再进行相应操作。如图图4.1所示:图4.1 主界面窗体4.1.1 mdi主窗体设计mdi主窗体通过工具栏按钮操作车辆档案管理、车辆运营管理、车辆管理、驾驶员管理、系统设置等几大模块,也是退出系统的唯一出口。(1)创建一个mdi窗体,设置其caption属性“为车辆管理系统”。(2)在表单中添加toolbar控件、statusbar控件、imagelist控件和timer控件。(3)重要控件属性如表4.1所示:表4.1 主程序界面重要控件属性列表控件名属性值toolbarstyle1.transparenttimerinterval10004.1.2 工具栏设计toolbar控件按钮与应用程序中菜单按钮箱对应,为了给用户提供常用菜单命令的快捷访问方法,在车辆管理系统中设计了工具栏。另外,toolbar控件的按钮上显示的所有图像都是imagelist控件存储和添加的,所以窗体上的工具栏是通过toolbar控件和imagelist控件共同来实现的。添加toolbar控件和imagelist控件到工具箱。toolbar控件和imagelist控件都属于activex控件,使用时需要从“部件”对话框中添加。添加toolbar控件和imagelist控件的过程:在“工程”菜单中选择“部件”子菜单,在弹出的“部件”窗口中“控件”选项卡内选择“microsoft windows common controls 6.0”,然后单击“确定”按钮,此时将toolbar控件和imagelist控件添加到工具箱当中。图4.3部件4.1.3 程序代码设计清空运营表如图4.4所示:图4.4清空运营表在主窗体菜单“车辆运营管理”子菜单“清空运营表”(属管理员权限)的click事件下,添加如下代码:if msgbox(真的要清空运营表吗?, vbokcancel, 车辆管理系统) = vbok thencnn.execute (delete from 车辆运营表) 清空车辆运营表elsers1.closeexit subend if在toolbar 控件的buttonclick 事件中添加以下代码:select case button.indexcase 1 call mnucardaadd_click 调用车辆档案录入窗体case 2 call mnujsylist_click 调用驾驶员档案列表窗体case 3 call mnuyylist_click 调用车辆运营列表窗体case 5 call mnucarwxlist_click 调用车辆维修列表窗体case 6 call mnucarwzlist_click 调用车辆违章列表窗体case 7 call mnucarsglist_click 调用车辆事故列表窗体end select4.2 系统登录界面设计4.2.1 登录界面窗体设计(1)添加一个表单,名称为frmlogin。(2)在表单中添加label控件、text控件、image控件。登录界面如图4.5所示:图4.5 “用户登录”表单运行结果4.2.2 代码设计如果在登录过程中连续3次输入错误信息,将自动退出系统。在“确定”按钮的click 事件中添加以下代码:private sub mnuglyset_click() frmmanager.show statusbar1.panels(1).text = 管理员设置窗体end subprivate sub mnuhf_click() frmdatahf.show statusbar1.panels(1).text = 数据恢复窗体end subprivate sub mnujsycha_click() frmdrivercha.show statusbar1.panels(1).text = 驾驶员档案查询窗体end subprivate sub mnujsyjc_click() frmdrjc.show statusbar1.panels(1).text = 奖金评定窗体end subprivate sub mnujsylist_click() frmdriverlr.show statusbar1.panels(1).text = 驾驶员档案录入窗体end subprivate sub mnusyscsh_click() if msgbox(执行此命令会清空数据库里所有记录,确实要执行吗?, vbokcancel, 系统提示) = vbok then adocon.execute (delete from 车辆档案) adocon.execute (delete from 车辆报废表) adocon.execute (delete from 车辆事故表) adocon.execute (delete from 车辆违章表) adocon.execute (delete from 车辆维修表) adocon.execute (delete from 车辆异动表) adocon.execute (delete from 车辆运营表) adocon.execute (delete from 驾驶员档案) adocon.execute (delete from 零件表) adocon.execute (delete from 用户表) adocon.execute (delete from 奖罚表) else exit sub end ifend subprivate sub mnuyydelete_click() if msgbox(真的要清空运营表吗?, vbokcancel, 系统提示) = vbok then adocon.execute (delete from 车辆运营表) else exit sub end ifend subprivate sub mnuyylist_click() frmcaryylr.show statusbar1.panels(1).text = 车辆运营录入窗体end subprivate sub toolbar1_buttonclick(byval button as mscomctllib.button) select case button.index case 1 call mnucardaadd_click case 2 call mnujsylist_click case 3 call mnuyylist_click case 5 call mnucarwxlist_click case 6 call mnucarwzlist_click case 7 call mnucarsglist_click end select end subprivate sub toolbar1_buttonmenuclick(byval buttonmenu as mscomctllib.buttonmenu) select case buttonmenu.index case 1 call mnucardacha_click case 2 call mnujsycha_click case 3 call mnucaryycha_click case 5 call mnucarwxcha_click case 6 call mnucarwzcha_click case 7 call mnucarsgcha_click end selectend sub4.3 车辆档案录入车辆档案录入操作窗体用于添加、修改、删除车辆档案信息。车辆档案的添加、修改、删除可以通过ado控件实现,其中使用了addnew、update和delete方法。4.3.1 窗体界面设计(1)新建一个窗体,名称为frm车辆档案录入。(2)在表单中添加label控件、text控件、combo控件、monthview控件(microsoft monthview control, version 6.0)、check控件、edit控件、commandgroup控件、command控件和container控件。车辆档案录入界面如图4.6所示:图4.6车辆档案录入表4.3.2 代码设计在test1控件的lostfocus事件下,判断用户添加的“车牌号码”是否与表中的数据重复,其代码如下: set rs = adocon.execute(select * from 车辆档案 where 车牌号码= & text1.text & ) if rs.eof = false then msgbox 此车牌号码已经存在!, 4, 车辆管理系统 text1 = 初始化处理,清空文本框空间中的内容,为部分控件赋初始值,然后设置一些按钮有效,为用户添加新数据做准备。在“增加”按钮的click事件下添加代码如下:unlockctl dtpicker1.value = format(now, yyyy.mm.dd) text1 = : text2 = : combo2 = : text4 = : text5 = : text6 = : text7 = combo1.text = cmnj.text = 是 cmbx.text = 是 cmyd.text = 是 cmbf.text = 是 text1.setfocus imgok.enabled = true: imgcancel.enabled = true imgdelete.enabled = false: combo1.visible = true adodc1.enabled = false: imgupdate.enabled = false i = 1使用delete语句删除车辆信息。在“删除”按钮的click事件下添加代码如下:if msgbox(您确实要删除记录吗?, vbokcancel, 车辆管理系统) = vbok then adocon.execute (delete from 车辆档案 where 车牌号码= & text1 & ) msgbox 记录已删除!, , 车辆管理系统 unload me在“取消”按钮的click事件下添加代码如下:on error resume next adodc1.recordset.cancelupdate adodc1.refresh lockctl imgok.enabled = false: imgcancel.enabled = false imgadd.enabled = true: imgupdate.enabled = true imgdelete.enabled = true: adodc1.enabled = true4.4 车辆运营列表车辆运营列表窗体用于添加、修改、删除车辆运营信息。4.4.1 窗体界面设计新建一个窗体,caption属性为“车辆运营列表”,borderstyle属性为1.fixed single。在窗体上添加text、label、commandbutton、dtpicker控件。图4.8车辆运营列表4.4.2 程序代码设计在text1控件的lostfocus事件下判断某个车辆是否属于公司车辆,由于报废车辆和异动车辆不能参加运营,所以这里也需要判断,其核心代码如下: 此车是否是本公司的 set rss = adocon.execute(select * from 车辆档案 where 车牌号码= & text1.text & ) if rss.eof then msgbox 这辆车不属于本公司的!, , 车辆管理系统 text1.text = text1.setfocus exit sub end if rss.close 此车是否报废了 set rss1 = adocon.execute(select * from 车辆报废表 where 车牌号码= & text1.text & ) if rss1.eof then else msgbox 此车已经报废,不能参加运营!, , 车辆管理系统 text1.text = text1.setfocus exit sub end if rss1.close 此车是否异动了 set rss2 = adocon.execute(select * from 车辆异动表 where 车牌号码= & text1.text & ) if rss2.eof then else msgbox 此车为“异动车辆”不能参加运营!, , 车辆管理系统 text1.text = text1.setfocus exit sub end if rss2.close在“添加”按钮的click事件下,通过ado对象创建“车辆运营表”的记录集,通过对记录集中记录数的判断对“营运编号”进行自动编号,其代码如下: dim rs as new adodb.recordset rs.open select * from 车辆运营表, cnn, adopenkeyset, adlockoptimistic if rs.recordcount 0 then rs.movelast aa = rs.fields(0) text5.text = yy + format(val(right(rs.fields(运营编号), 3) + 1, #000) else text5.text = yy001 end if在“删除”按钮的click事件下,通过ado控件的delete方法删除数据,代码如下: if msgbox(您确实要删除记录吗?, vbokcancel, 车辆管理系统) = vbok then adodc1.recordset.delete msgbox 记录已删除!, , 车辆管理系统 adodc1.refresh end if4.5 车辆违章列表4.5.1 窗体界面设计(1)新建一个窗体,caption属性为“车辆违章记录”。(2)在窗体上添加test、label、commandbutton、dtpicker控件。如图4.10所示:图4.10车辆违章记录图4.5.2 程序代码设计判断报废车辆和异动车辆不可以添加到违章列表中,在text1控件lostfocus事件下,添加如下核心代码:private sub command1_click(index as integer) on error resume next select case index case 0 adodc1.recordset.movefirst case 1 if adodc1.recordset.bof = false then adodc1.recordset.moveprevious end if case 2 if adodc1.recordset.eof = false then adodc1.recordset.movenext end if case 3 adodc1.recordset.movelast end select text1.text = adodc1.recordset.fields(0) text2.text = adodc1.recordset.fields(1) text3.text = adodc1.recordset.fields(2) dtpicker1.value = adodc1.recordset.fields(3) text4.text = adodc1.recordset.fields(4)end subprivate sub form_load() frmcarwzlr.width = 6720: frmcarwzlr.height = 2730 adodc1.recordsource = select * from 车辆违章表 adodc1.refresh if adodc1.recordset.recordcount 0 then dtpicker1.value = adodc1.recordset.fields(违章时间).valueend subprivate sub form_queryunload(cancel as integer, unloadmode as integer) cmdexit_clickend subprivate sub text1_keydown(keycode as integer, shift as integer) if keycode = vbkeyreturn then text2.setfocusend subprivate sub text1_lostfocus() if text1.text = then exit sub dim rss as new adodb.recordset set rss = adocon.execute(select * from 车辆档案 where 车牌号码= & text1.text & ) if rss.eof then msgbox 这辆车不属于本公司的!, , 系统提示 text1.text = text1.setfocus exit sub end if rss.close dim rss1 as new adodb.recordset set rss1 = adocon.execute(select * from 车辆异动表 where 车牌号码= & text1.text & ) if rss1.eof then else msgbox 该车为异动车辆!, , 系统提示 text1.text = text1.setfocus exit sub end if rss1.close dim rss2 as new adodb.recordset set rss2 = adocon.execute(select * from 车辆报废表 where 车牌号码= & text1.text & ) if rss2.eof then else msgbox 该车已经报废!, 系统提示 text1.text = text1.setfocus exit sub end if rss2.closeend subprivate sub text2_keydown(keycode as integer, shift as integer) if keycode = vbkeyreturn then text3.setfocusend subprivate sub text3_keypress(keyascii as integer) if keyascii = 13 then dtpicker1.setfocusend subprivate sub dtpicker1_keypress(keyascii as integer) if keyascii = 13 then text4.setfocusend subprivate sub lockctl() text1.enabled = false: text2.enabled = false text3.enabled = false: text4.enabled = false dtpicker1.enabled = falseend subprivate sub unlockctl() text1.enabled = true: text2.enabled = true text3.enabled = true: text4.enabled = true dtpicker1.enabled = trueend sub4.6 车辆运营查询车辆运营查询窗体主要完成按车牌号码、运营日期和运营时间段查询车辆运营情况。4.6.1 窗体界面设计(1)新建一个窗体,caption属性为“车辆运营查询窗体”,在改窗体上一次添加控件。(2)在窗体上添加datagrid控件,用来显示查询车辆运营的结果。(3)在窗体中添加text、label、image、dtpicker控件,如图4.12所示:图4.12车辆运营查询图4.6.2 程序代码设计设计一个rebind过程,用于显示表中所有数据。frame2.caption = 车辆运营列表 adodc1.connectionstring = provider=microsoft.jet.oledb.4.0;data source= & app.path & clgl.mdb & ;persist security info=false adodc1.recordsource = select * from 车辆运营表 adodc1.refresh设计一个清空过程,用于显示查询结果数据。frame2.caption = 您所要查询的车辆运营记录如下: adodc1.connectionstring = provider=microsoft.jet.oledb.4.0;data source= & app.path & clgl.mdb & ;persist security info=false adodc1.recordsource = select * from 车辆运营表 where 1=0 adodc1.refresh4.7 程序调试和错误处理运行“车辆违章查询”模块,查询车辆违章信息时出现“from子句语法错误”的错误提示。如图4.14所示:图4.14车辆违章查询单击“确定”按钮后,执行的代码如下:if adors.eof then call qingkong msgbox 对不起,没有符合您查询条件的车辆违章记录!, , 车辆管理系统 else adodc1.recordsource = sql adodc1.refresh end if32第5章 总结车辆信息管理系统的设计目的是为车管人员方便管理机动车与驾驶员信息提供方便。通过这几个月的毕业设计,我学到很多以前没有学到的visual basic开发技术,在软件工程学上更是取得了很大的进步。经过大量的测试和试用,我深信本软件达到了方便和实用的设计目的,并在软件界面和易用实用等方面有着独到之处。在车辆信息管理系统的整个设计过程中,需要注意的是力求界面友好、简洁,易于操作。代码部分尽量避免逻辑错误,算法设计简单合理,尽量使程序具有较好的可读性,有利于其他的设计者对程序的阅读;力求对数据库操作的安全与稳定,尽量避免数据库操作异常,并要保证查询的快速无误。车辆管理系统的功能基本能够符合用户的需求,能够完成用户提出的信息管理要求,并提供部分系统维护功能,使用户方便进行数据备份、恢复、数据删除。当然,由于本人的专业知识水平有限以及时间的限制,在系统设计过程中没有全面做好切合实际的需求分析,所以在开发过程中遇到了一些棘手的问题。现在开发出来的系统还存在部分不足的地方。系统版面设计不够人性化,系统对数据库的操作还不够稳定,这些问题在以后的开发过程中还需要逐步完善。车辆管理系统的功能基本能够符合用户的需求,能够完成用户提出的信息管理要求,并提供部分系统维护功能,使用户方便进行数据备份、恢复、数据删除。经过几个月的设计和开发,车辆运输管理系统基本开发完毕。其功能基本符合用户需求,能够完成信息录入,信息查询和统计,并提供一定的系统维护功能,使用户方便的对数据进行录入,修改,删除,备份等操作,并且对于数据的一致性的问题也通过程序进行了一定的解决。但是由于毕业设计时间较短,但还存在如下问题:(1) 界面做得不是很协调,过于简单。(2) 在登陆页面,对密码没有限制,可以使其数字和字符混合并控制其长度。(3) 在设计其中几项功能的时候,出现了一些问题,使其功能无法实现。(4) 在设置的登录界面,比较简单,我们可以直接按enter键就可以登录。(5)在数据库的选择存在不足,我们可以选用sql,因为我们access存在一个缺点就是他可以再数据量小的时候使用,而sql可以再数据量大的情况下使用,而且sql的高负载时的稳定性较好。(6) 在编写软件部分的时候,会遇到很多意想不到的问题,自己可能会认为代码没有错,但是当你细心一点查找的时候,你会发现你的代码还是有问题的,而且在编写的过程中,要不断地调试,才可以保证你的代码是没有错误的。这些都是需要完善的地方,该系统离实际使用还有相当的距离,需要我进行不断地补充和完善。但是由于毕业设计时间较短,加之本人水平所限,此系统只能初步运用visual basic强大功能的一些基本控件,在创建这个系统时也遇到过一些困难,是几经调试才能正常运行的。因此在设计过程中可能有漏洞或

温馨提示

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

评论

0/150

提交评论