




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/摘要近年来,随着计算机技术的成熟及数据库技术的发展,信息管理系统的应用已延长到社会的各个领域。以信息管理系统的开发为理论基础,开发出汽车租赁管理系统。汽车租赁管理是汽车租赁公司开展日常运营的重要工具。传统的人工管理方式不但奢侈时间,而且管理困难,易出差错。汽车租赁管理系统能使繁琐的数据计算、信息处理变得简洁易操作,完全实现数据信息的电算化管理。运用这套系统有助于提高汽车租赁公司的效率,节约成本,增加经济效益。本论文主要介绍了该系统的生成及VisualBasic6.0和Access的一般原理。阐述了整个汽车租赁管理系统的制作步骤及工作原理;设计实现了系统用户管理、基本信息管理、业务管理、会员管理等程序模块;分析了系统的可行性并解决了可能存在的问题。关键词:数据库;VisualBasic6.0;汽车租赁管理AbstractInrecentyears,withthedevelopmentofthetechnologyofcomputeranddatabase.Informationmanagementsystemhasstretchedintoeveryfieldofoursociety.Basedonthedevelopmenttheoryoftheinformationmanagementsystemthendevelopedanothermanagementsystem--theautomobilelend-lease.Themanagementofautomobilelendingandleasingplayaveryimportantroleinthecompany'sdailyoperation.Comparedwiththetraditionalwaywhichwastehumanresourcesandtime.Atthesametime,itiscomplicatedandoftenrunswithmistakes.Whiletheautomobilelend-leasesystemturnthecomplicateddatacalculationandinformationprocessingintosimpleinstructions.Notonlyincreasetheefficiency,buttheeconomicbenefits.ThispapermainlyintroducesthedevelopbackgroundofthesystemandthebasictheoryofVisualBasic6.0andAccessVisual.Ittellsthestructureoftheautomobilelend-leasemanagementsystemanditsworkingtheory;itanalyzesthespecialty,difficultyandimportantthingsinsystemrealization.Thedesignrealizesthemanagementofthesystemusers,thebasicinformation,thebusiness,andthemembers'management.Keywords:Database;VisualBasic6.0;Theautomobilelend-leasemanagement目录第1章绪论 11.1开发背景 11.2系统功能简介 11.3开发工具 11.3.1VisualBasic6.0简介 21.3.2Access2003简介 21.4可行性探讨和需求分析 31.4.1可行性探讨 3需求分析 3第2章系统数据库设计 42.1数据库管理系统简介 42.2ADO数据库访问技术 42.3系统功能分析探讨 52.4系统功能模块图 52.5数据字典 62.6数据库各表的数据结构 7第3章系统功能设计 123.1登录模块设计 123.2主程序界面设计 133.3基础数据管理模块的实现 143.3.1车辆和保险类型管理窗体的设计 14汽车销售商管理窗体的设计 153.3.3保险公司管理窗体的设计 16车辆管理窗体的设计 173.4客户会员管理模块的实现 183.4.1客户信息管理窗体的设计 183.4.2会员信息管理窗体设计 193.4.3会员类型管理窗体设计 213.5日常业务管理模块的实现 213.5.1汽车租赁管理窗体设计 223.5.2汽车归还管理窗体设计 24结论 26致谢 27参考文献 27附录程序代码 29第1章绪论1.1开发背景今日,随着人民生活水平的不断提高,汽车已不再遥不行及,汽车租赁作为一种全新的消费模式已成为一个极具市场潜力的行业,它不仅可以有效的疏通汽车生产和汽车销售之间的“瓶颈”,而且对汽车消费市场的扩展有着不行低估的功效。在这个“时间就是金钱”的社会,加快生活节奏,提高生活效率刻不待时。因此在必要的时候向汽车出租公司提出租赁车辆的要求,已成为被大众认可的选择。在社会需求的带动下,汽车租赁市场出现了前所未有的旺盛景象。各个汽车租赁公司门庭若市,业务激增。然而在繁忙的景象背后,却也暴露出汽车租赁公司在处理业务信息时以人工方式为主所带来的诸如:效率低下,管理混乱,失误增多等诸多弊端。在实践中,汽车租赁行业的业主们慢慢意识到在租赁行业中借助计算机引入信息管理的重要性,并起先不断提高自身的素养和高科技在工作中的投入,以改善信息的管理,提高服务效率。汽车租赁管理系统就是对车辆信息和客户信息的管理,主要包括车辆的基本信息、车辆的出租状态、车辆的投保状况、客户信息的管理等。它的设计开发充分依据汽车租赁的实际业务流程,结合了租赁行业的实际运营特点,满足汽车租赁行业的信息化需求。1.2系统功能简介汽车租赁管理系统针对的是汽车租赁公司在向客户供应出租车辆服务过程中面对的各种问题而开发的,对其业务信息进行自动化、信息化处理,使车辆租赁管理变得高校、快捷、规范。此系统具有完善的功能,运用轻松便利,易于维护,适应性强。包括客户信息管理、车辆信息管理、汽车租赁归还管理、会员类型管理、会员信息管理、保险公司管理、汽车销售商管理等。具有添加、修改、删除、查询等功能,通过这些管理模块,可以使汽车租赁服务更加清晰,更加便捷,提高了服务质量,削减了操作人员的工作量。希望它能为业内人员的工作供应确定的帮助。1.3开发工具1.3.1VisualBasic6.0简介VisualBasic是一种结构化的编程语言,它集成了一个完整且功能强大的应用程序开发环境。操作简洁易学,使程序设计不再困难。“visual”指的是开发图形用户界面(GUI)的方法。不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象加到屏幕上,一点即可。“Basic”是一种在计算机技术发展历史上应用的最为广泛的语言。另外,在VisualBasic中引入了控件的概念,在Windows中控件的身影无处不在,各种各样的按钮,文本框等都是控件。VisualBasic把这些控件模式化,并且每个控件都有若干属性用来限制控件的外观以及工作方法。VisualBasic是具有集成的可视化数据库工具,VisualBasic6.0供应了一整套工具以在任何应用程序中集成数据库。它可用来设计和修改ADO等数据库工具,也可用拖放方式创建绑有数据的表格和报告。更重要的是VisualBasic简洁、易学、好用,深受广袤编程爱好者的宠爱。1.3.2Access2003简介MicrosoftAccess数据库管理系统是MicrosoftOffice系列应用软件的一部分,是基于Windows平台的数据库管理系统,它操作简洁、功能全面、运用便利,不仅具有传统数据库管理软件所具有的功能,同时还进一步增加了和Internet的集成,用户可以通过Internet共享Access数据库。Access具有强大的数据管理功能,可以便利地利用各种数据源,生成窗体(表单)、查询、报表和应用程序等。1Access2003是Microsoft公司出品的关联式资料库套装软体。它供应视觉化的设计介面,不必撰写程式,即可快速,简洁地开发出美观好用的资料库管理系统。Access2003由如下组成:资料表:为access储存资料的地方,亦为资料的根原来源,一个资料库至少要存在一个资料表。查询:可依运用者需求,以一些限制条件(筛选,过滤…)来选取资料表中。表单:建立一个让运用者输入,查询,修改资料的操作画面。报表:将资料库里的资料运用报表做成有利用价值的画面资料。资料页:为Access2003的新增物件,资料发布至网路的媒介。此物件完成建立后,将会在资料库档案外,再产生一个HTML档。巨集:建立简洁的资料操作指令和将一连串的执行动作自动化。应用于一些重复性高的动作或者用于运用者自订工作环境上。模组:开发应用系统的工具。是让运用者能更为所欲为的去限制系统。1.4可行性探讨和需求分析1.4.1可行性探讨通过对部分用户和部门的调查探讨表明,传统的租赁管理系统,在后期维护和更新上比较麻烦,假如对功能模块进行修改,须要对整个系统进行重新架构才能实现。本系统在基本信息管理模块中实现了对车辆、客户、驾驶员等信息的增加、删除、修改等功能。在日常任务模块中,实现了对租赁和归还信息的管理。在基础数据管理中还涉及了租赁合同的打印,特殊周到,贴合实际。本系统具有:操作简便、灵敏,用户界面直观;可实现企业管理程序化、条理化、规范化、高效化;供应刚好、牢靠的数据资料,并自动对数据进行分析;多数操作选项接受人工选择的方式,避开了用户记忆一些不必要的指令,减轻用户操作负担。需求分析开发汽车租赁管理系统的目的就是为了使租赁公司能够更好的为客户服务且工作不须要花费大量的时间和精力。这不但使客户租车过程简化、快捷,还能使租赁公司信息更规范,易管理.综上所述,公司不再须要过多的人员去管理繁杂的资料,既节约了办公效率、降低了成本,还节约了客户的时间。本系统经过短期的可行性市场调查和分析工作及长期实践操作,最终确定整体系统方案,在综合各项软件指标的前提下细致完成。第2章系统数据库设计2.1数据库管理系统简介数据库是信息管理系统的基本技术,是计算机科学的重要分支。数据库(DataBase,DB)是指长期储存在计算机内的、有组织的、可以共享的数据集合。数据库中的数据按确定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可以为各种用户共享。数据库管理系统是在操作系统的支持下,为数据库的建立、运用和维护而配置的软件环境,如MicrosoftSQLServer、MicrosoftAccess等。数据库系统是位于用户和操作系统之间的一层数据管理软件,它在操作系统的基础上,对数据库进行管理和限制,利用数据库管理系统供应的一系列叮嘱,用户能便利地实现对数据库的基本操作(如建表、向表中添加记录、删除记录和修改记录等)。用户运用的各种数据库叮嘱以及数据库应用程序的运行,都要通过数据库管理系统来实现;另外,数据库管理系统还要保证数据的平安性,完整性,多用户对数据库的并发运用以及发生故障后系统的回复等任务。在信息资源已成为各个部门的重要财宝和资源的当下。开发一个满足各个部门信息处理要求的信息系统也因此成为一个企业或组织生存和发展的重要部分。因此,作为信息系统核心,数据库已得到越来越广泛的应用,新的应用领域接受数据库存储和处理信息资源。对于一个国家来说,数据库的规模、信息量的大小和运用频度已成为衡量这个国家信息化程度的重要标记。2.2ADO数据库访问技术VisualBasic作为一种面对对象的可视化编程工具,具有简洁易学、灵敏便利易于扩充的特点。因此它越来越多的用作数据库应用程序的前端开发工具。在VisualBasic中,可以通过ActiveX数据对象(ADO),数据访问对象(DAO),ODBC干脆连接到数据库:其中ADO是最新的数据库访问技术。它是运用更加简洁,灵敏的对象模型。本系统就是基于这种技术开发的。ADO在工程的创建过程中供应执行以下操作的方式:连接到数据源。指定访问数据源的叮嘱,同时可带变量参数或优化执行。通常涉及ADO的Command对象。执行叮嘱,例如一个SELECT脚本。假如这个叮嘱使数据按表中行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。适当状况下,可以把缓存行的更改内容写回数据库中,更新数据源。供应常规方法检测错误(错误通常由建立连接或执行叮嘱造成),涉及ADO的Error对象。2.3系统功能分析探讨本系统通过对市场需求的具体调研和分析,确定本系统应具备系统管理基础数据管理、客户会员管理、日常业务管理等模块的功能.下面具体分析一下各个模块的功能。系统管理模块该模块可以完成修改用户密码,添加新用户,设置密码以及退出系统等操作。2、基础数据管理模块在这个模块中,可以设置车辆类型和保险类型,而且还可以对汽车销售商,车辆的保险公司进行管理,如添加,修改和删除等操作。客户会员管理模块在这个模块中,可以设置会员的级别以及添加,修改,和删除客户和会员的信息。4、日常业务管理模块在这个模块中可以完成车辆的出租,审核以及还车的操作,而且可以查询和打印租赁合同。2.4系统功能模块图汽车租赁管理信息系统的系统功能结构图如图2.1所示。图2.1系统总体功能设计2.5数据字典数据字典是关于数据信息的集合,它为分析阶段的工具,其作用就是在软件分析和设计的过程中给人供应关于数据的描述信息,在数据字典中,建立一组严密一样的定义很有助于改进分析员和用户之间的通信,因此将消退可能的误会。数据字典主要应当包括的每个数据元素的限制信息有:名字,别名,描述,定义,位置。数据字典中包含的每个数据元素的限制信息是很有价值的。因为列出了运用一个给定的数据元素的全部程序(或者模块),所以很简洁估计变更一个数据将产生的影响,并且能对全部受影响的程序或者模块做出相应的调整。本系统的数据字典如下:1、名字:car别名:车辆信息描述:车辆的购买,保险。技术信息。运用,价格等信息。定义:car=carno+cartype+arname+color+oilno+engineno+carcase+saleid+buydate+insurno+insured+insurtype+insurSdate+insurEdate+deposit+dayprice+weekendprice+weekprice+monthprice+Daykm+overtimeprice+overkmprice+status+comment位置:车辆管理,汽车租赁,车辆归还2、名字:users别名:用户信息描述:系统用户的名称定义:users=username+userpwd位置:用户信息3、名字:customer别名:客户信息描述:记录客户的名字,年龄,联系方式等各种信息定义:customer=id+name+sex+age+idcard+telephone+workplace+address+zipcode+email+licenseno+licensetype+gedate+expiredate+diverage+flag+typeid+certificate+warrantor+wildcard+wworkplace4、名字:membertype别名:会员类型描述:记录会员类型的编号,名称,折扣率定义:membertype=id+typename+rate位置:会员类型定义,会员信息,汽车租赁,车辆归还5、名字:company别名:公司信息描述:保险公司和车辆销售商的名称,地址,联系方式等信息定义:company=id+company+telephone+zipcode+fax+address+email+contact+typeid+comment位置:销售商信息,保险公司信息,车辆信息7、名字:types别名:类型信息描述:车辆品牌类型以及保险种类定义:types=id+typename+typeid+description8、名字:lease别名:租赁业务信息描述:合同编号,租赁模式。租还车时间等业务信息定义:lease=contractno+carno+custid+leasetime+leasemode+price1+price2+workdays+weekendcount+deposit+daykm+oprice1+oprice2+returntime+returnkm+othercost+rate+dayment+total+status+createdate+username+realtime位置:车辆租赁,车辆归还2.6数据库各表的数据结构本系统数据库名称为CarMIS,数据库中包括:①用户信息表(users)②车辆信息表(Cars)③公司信息表(Company)④客户信息表(Customer)⑤车辆和保险类型信息表(Types)⑥会员类型信息表(MenberType)⑦租赁信息表(Lease)。各表数据结构如下:表2.1用户信息表的数据结构表名:Users说明:用户信息表字段名类型大小空值描述Usernamenvarchar20用户名userpwdnvarchar40用户密码表2.2车辆信息表的数据结构表名:Cars说明:车辆信息表字段名类型大小空值描述Carnonvarchar20Y汽车编号Typeidsmallint2Y烈性编号carnamenvarchar50Y汽车名称colornvarchar20Y颜色oilnonvarchar30Y燃油编号enginenonvarchar50Y发动机标号carcasenvarchar50Y车架编号Saleidint2Y销售商Buydatesmalldatetime10Y购买日期Insurnonvarchar50Y保险公司insuridint4Y保单号insurtypenvarchar50Y保险类型Insursdatesmalldatetime10Y保险起先日期Insuredatesmalldatetime10Y保险结束日期Depositsmallint4Y押金Daypricesmallint4Y日租金Weekend-pricesmallint4Y周末日租金Weekpricesmallint4Y周租金monthpricesmallint4Y月租金daykmsmallint4Y日限公里overtimepricesmallint4Y超时单位费用overkmpricesmallint14Y超公里单位费用statusnvarchar10Y状态commentntext10Y备注表2.3公司信息表的数据结构表名:Company说明:公司信息表字段名类型大小空值描述Idint4公司编号Companynvarchar100Y公司名称Telephonenvarchar50Y电话Zipcodenvarchar8Y邮编Faxnvarchar50Y传真Addessnvarchar50Y地址Emailnvarchar50Y电邮Contactnvarchar50Y联系人Typeidtinyint1Y类型编号commentntext16Y备注表2.4客户信息表的数据结构表名:Customer说明:客户信息表字段名类型大小空值描述Idnvarchar20Y客户编号Namenvarchar50Y名称Sexnvarchar2Y性别Agesmallint2Y年龄Idcardnvarchar30Y会员卡号Telephonenvarchar30Y电话Workplacenvarchar30Y工作地点Addressnvarchar50Y地址Zipcodenvarchar50Y邮编Emailnvarchar10Y电邮Licensenonvarchar30Y驾照IDLicensetypenvarchar20Y驾照类型Getdatenvarchar20Y驾照获得日期Expireddatenvarchar20Y驾照过期日期Driveragesmallint2Y驾龄Flagtinyint2Y折扣Typeidint4Y会员类型编号Certificatenvarchar40Y抵押证件Warrantornvarchar50Y担保人Widcardnvarchar30Y担保人身份证wworkplacenvarchar100Y担保人工作地点表2.5车辆和保险类型信息表的数据结构表名:Types说明:车辆和保险类型信息表字段名类型大小空值描述Idint4编号typenamenvarchar50Y类型名称Typeidtinyint2类型编号descriptionnvarchar100Y描述表2.6会员类型信息表的数据结构表名MemberType说明:会员类型信息表字段名类型大小空值描述Idint4会员编号Typenamenvarchar20Y类型名称Ratereal8Y享受折扣表2.7租赁信息表的数据结构表名:Lease说明:租赁信息表字段名类型大小空值描述Contracnonvarchar50Y合同编号Carnonvarchar20Y车辆编号Custidnvarchar20Y客户编号Leasetimesmalldatetime10Y租赁日期Leasemodenvarchar10Y租赁方式Price1smallint4Y价格1Price2smallint4Y价格2Workdayssmallint2Y工作天数Weekendcountsmallint2Y周末天数Depositint4Y押金Daykmsmallint2Y超限时间数Outkmsmallint4Y超限费用Oprice1smallint4Y日限时间超限费用Oprice2smallint4Y日限公里超限费用Returntimesmalldatetime10还车时间returnkmint4实际公里Othercostint4Y其他费用Ratereal4Y享受折扣Paymentint4实际支付Totalint4费用总额Statusnvarchar10Y状态Createdatesmalldatetime10创建日期Usernamenvarchar20经办人realrtimesmalldatetime10Y实际还车时间第3章系统功能设计3.1登录模块设计登录模块是进入系统后的第一个界面,为了提高系统的平安性,本系统设置了身份验证功能,以防非法人员进入系统。登录流程图如图3.1所示。输入用户名和密码推断输入用户名和密码推断用户是否存在推断密码是否正确登录成功否否是是图3.1登录流程图登录模块窗体如图3.2所示,包含三个标签控件,一个框架,两个文本框和两个叮嘱按钮。图3.2登陆界面首先点击工程菜单,选择“添加窗体”,在新建的工程内添加一个空窗体,在适当的位置画出框架,然后在框架内添加两个标签控件和两个文本框,然后把另一个标签和两个叮嘱按钮画在下面,设置各个控件属性,最终编写源代码。例如:将其次个叮嘱按钮的限制名设为“cmd_cancel”,caption属性设为“取消”,字体设为“宋体”,enable和visible属性均设为“True”,编写按钮单击时间源代码如下:PrivateSubCmd_Cancel_Click()EndEndSub3.2主程序界面设计用户登录成功后,即进入系统主界面。主界面的外观设计应当大方美观,布局合格,便利用户的下一步操作,其窗体布局如下,菜单栏内设有五个子菜单栏,工具栏内设有六个按钮,分别连接常用的功能。用户登录成功后,即进入系统主程序界面。主界面的窗体布局如下,菜单栏内设有【基础数据管理】、【客户会员管理】【日常业务管理】【系统管理】四个子菜单,工具栏内设有六个按钮,分别为【车辆类型设置】【汽车销售商管理】【保险公司管理】【汽车租赁】【汽车归还】【会员信息】。主程序界面如图3.3。图3.3主程序界面点击新建工程按钮,在生成的窗体上单击右键,在弹出的菜单栏上点击“菜单编辑器”叮嘱,打开菜单编辑器。设计好程序各级菜单。在窗体上添加“图像列表控件”,用于保存工具栏按钮所运用的图像,在窗体上添加“工具栏控件”,将其和“图像限制列表控件”相关联。并加入代表耽搁按钮的“按钮对象”,最终编写工具栏对应的源代码。工具栏单击事务源代码如下:PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.KeyCase"aa"LoadFrmTypeFrmType.ShowvbModalCase"bb"LoadFrmSalesFrmSales.ShowvbModalCase"cc"LoadFrmInsuranceFrmInsurance.ShowvbModalCase"dd"LoadFrmLeaseFrmLease.ShowvbModalCase"ee"LoadFrmReturnFrmReturn.ShowvbModalCase"gg"LoadFrmMembersFrmMembers.ShowvbModalEndSelectEndSub3.3基础数据管理模块的实现3.3.1车辆和保险类型管理窗体的设计该窗体上设有两个单选按钮,一个datalist控件,四个叮嘱按钮,其窗体如下:图3.4车辆和保险类型设置界面首先按设计添加窗体,支配好各控件的布局,设置其相应属性,例如:将左边的“单选按钮”名称属性设为“optsel”,caption属性设为“汽车类型”,Indexs属性设为“0”,字体属性设为“宋体”,value值设为“True”,而叮嘱按钮设置同上,如对“添加”按钮的设置,设置完成后编写源代码。3.3.2汽车销售商管理窗体的设计此窗体用于对车辆销售商的信息如:销售商名称,联系电话,传真,地址,邮编,电子邮箱等操作,还可以依据用户选择的销售商名称查询该厂商旗下汽车租赁状况。窗体设计如图3.5。图3.5汽车销售商管理界面此窗体上设置了六和叮嘱按钮,一个Datagrid控件,一个标签控件和一个文本框。首先按设计添加窗体,做好各控件的布局,设置相应属性,如:datagrid控件名称属性设置为“datagrid1”,dragmode属性设置为“0”,allowaddnew属性设为“False”,Allowdelete属性设置为“False”,allowupdate属性设为“False”。字体设置为“宋体”,Enable和Visible属性均设为“True”。其添加叮嘱按钮单击事务源代码如下:PrivateSubCmd_Add_Click()FrmCompanyEdit.Modify=FalseFrmCompanyEdit.nTid=1FrmCompanyEdit.txtCompany=""FrmCompanyEdit.lblType="销售商"FrmCompanyEdit.txtTelephone=""FrmCompanyEdit.txtFax=""FrmCompanyEdit.txtAddress=""FrmCompanyEdit.txtContact=""FrmCompanyEdit.txtComment=""FrmCompanyEdit.txtZipCode=""FrmCompanyEdit.txtEmail=""FrmCompanyEdit.Show1GridRefreshEndSub3.3.3保险公司管理窗体的设计此窗体用于对保险公司信息如:保险公司的公司名称,联系电话,传真,地址,邮编,电子邮箱等备注的查询,添加,修改和删除。另外还可依据用户选择的保险公司名称查询投保语该保险公司的汽车的状况。设计窗体如图3.6。图3.6保险公司管理界面首先按设计添加窗体,支配好各控件的布局,设置其相应属性,如:名称属性为“label1”,alignment属性设置为“0”,文本框对其方式为“左对齐”,Caption属性设置为“保险公司名”,字体属性设置为“宋体”。查看保险车辆按钮的单击事务源代码如下:PrivateSubCmd_ViewCars_Click()FrmSaleCars.nType=2FrmSaleCars.sSaleName=Trim(Adodc1.Recordset.Fields(1))FrmSaleCars.nSaleId=Adodc1.Recordset.Fields(0)FrmSaleCars.txtSaleName=Trim(Adodc1.Recordset.Fields(1))FrmSaleCars.Caption="查看保险公司保险汽车"FrmSaleCars.Label1="保险公司名称"FrmSaleCars.Show1EndSub3.3.4车辆管理窗体的设计本窗体用于供应对车辆信息的添加,修改和删除功能,可处理的信息包括车辆的基本信息如车牌号,状态,车辆类型,颜色,押金,日租金等。设计界面如图3.7。图3.7车辆管理界面3.4客户会员管理模块的实现3.4.1客户信息管理窗体的设计客户信息管理窗体用于对客户信息如:编号、姓名、性别、年龄、驾驶证编号、驾龄等的查找、添加、修改、删除等操作。并且供应将一般客户加入会员的服务。本窗体上设置有六个叮嘱按钮,一个Adodc控件,一个Datagrid控件,一个标签控件和一个文本框。叮嘱按钮分别为“添加”“修改”“删除”“查找”“加入会员”“退出”。窗体设计如图3.8。图3.8客户信息管理界面点击“工程”菜单,选择“添加窗体”,在窗体上画出所需控件,把这些控件移动至窗体内适当位置,并设置各个控件的属性,最终编写各个控件相应事务过程。如,对于叮嘱按钮:“删除”,当放置好按钮位置后,将其名称属性设置为“Cmd_del”,对于Caption属性则设置为“删除”,字体属性设置为“宋体”,Enabled和Visible属性设置为true。 进行删除操作时,首先在列表框上显示出来的客户信息条目中将要删除一条选中(假如不选择,系统则默认为选择了第一条)做出选择后,单击“删除”按钮,显示一个对话框,选中用户是否确认删除,选“是”,则系统从数据库中删除该项,并弹出一个信息框,告知用户操作成功。 叮嘱按钮“删除”单击事务源代码如下:PrivateSubCmd_Del_Click()IfAdodc1.Recordset.EOF=TrueThenMsgBox"请选择记录"ExitSubEndIfIfMsgBox("是否确定要删除",vbYesNo,"请确认")=vbNoThenExitSubEndIfMyCustomer.Delete(Trim(Adodc1.Recordset.Fields(0)))MsgBox"成功",vbInformationGridRefreshEndSub3.4.2会员信息管理窗体设计会员信息管理窗体用于对会员信息如,编号,姓名,年龄驾驶证编号,驾龄,登记日期等的查找、修改及注销功能。本窗体上设有四个叮嘱按钮,一个Datagrid控件,一个标签控件和一个文本框。窗体设计如图3.9。图3.9会员信息管理界面点击“工程”菜单,选择“添加窗体”,在新建工程内添加一个空窗体,先设置窗体的属性,名称属性设置为“Frmmembers”,StartUpPosition属性设置为“2”,即窗体首次出现是在屏幕中心显示,Font属性设置为“宋体”,Caption属性设置为“会员管理”。接着对其它控件的属性进行设置。 叮嘱按钮“注销会员”的功能是将用户选定的会员条目从客户信息表中删除(假如不选择,系统默认为选择了第一条)选择后,单击“注销会员”按钮,弹出对话框,询问用户“是否确定要注销会员资格”,选择“是”,系统执行注销操作,并弹出一个信息框,显示“注销会员成功”,最终系统更新Datagrid控件中显示的会员信息条目。叮嘱按钮“注销会员”单击事务策划年供需源代码如下:PrivateSubCmd_OffMember_Click()IfAdodc1.Recordset.EOF=TrueThenMsgBox"请选择记录"ExitSubEndIfIfMsgBox("是否确定要注销会员资格",vbYesNo,"请确认")=vbNoThenExitSubEndIfMyCustomer.TypeId=0MyCustomer.UpdateToMember(Trim(Adodc1.Recordset.Fields(0)))MsgBox"注销会员成功",vbInformationGridRefreshEndSub3.4.3会员类型管理窗体设计本窗体用于对会员类型的管理,即对会员等级进行分类,如,vip会员,一般会员,超级会员等,不同等级的用户享受的租赁价格的折扣不同。通过“添加”功能可登记新的会员用户,及其享受的折扣,通过“修改”功能可修改已有的会员类型名称及折扣。“删除”功能和之前描述的“注销会员”操作类似,在此不再赘述。 本窗体上设置有四个叮嘱按钮,一个Datagrid控件,窗体设计如图3.10。图3.10会员类型管理界面点击“工程”菜单,选择“添加窗体”,设置各个控件在窗体中的位置,然后设置窗体及各控件属性,最终编写窗体及各个空间源代码。 当窗体载入是,触发form_load()事务,即窗体载入事务。该载入事务的源代码: PrivateSubForm_load() GridRefresh EndSub 其中,GridRefresh为一个函数调用语句,是在窗体模块内部定义的一个私有过程,在过程中设置了Adodc控件的两个属性,分别为Connectionstring属性和Recordsource属性。该过程的作用为在DataGrid控件上向用户显示会员类型的即存信息。3.5日常业务管理模块的实现3.5.1汽车租赁管理窗体设计汽车租赁模块的实现是本系统的关键,当客户提出租车要求时,租赁公司通过系统的这一模块向数据库的Lease表中添加新的租赁记录。在车辆处于特定的状态时,可执行对记录信息的修改、删除、审核、续租等操作。车辆的状态由Lease表中状态字段指定。本窗体上设置有一个DataGrid控件,一个组合框,一个标签控件,八个叮嘱按钮控件,设计窗体如图3.11。图3.11汽车租赁管理界面在“工程”中添加一个窗体后,按上述布局设置空间。然后进行各控件的属性设置。当执行“添加”操作并成功添加一条新的租赁信息后,将在DataGrid控件中显示出这条新的记录,其中“状态”栏内为“出租”,此时,可对这一条记录执行“修改”、“删除”操作,添加车辆出租信息后,确定所添数据无误,则应执行“租赁审核”叮嘱,“审核”即为确定。当单击“租赁审核”按钮后,将弹出一个对话框,询问用户是否确执行租赁审核,选择“是”,车辆“状态”则变为“租赁审核”,即用户将不能对该记录执行“修改”、“删除”叮嘱,但可执行“续租”叮嘱。执行“续租”后,车辆状态变为“续租”。确定续租信息无误,执行“续租审核”叮嘱。 当单击“添加”叮嘱按钮后,将触发“添加”叮嘱按钮的单击事务。此时将打开“编辑车辆出租信息”窗体,如图3.12。图3.12添加或修改租赁信息的界面窗体上设有三个Datagrid控件和三个ADODC控件,系统将在程序执行中为ADODC控件设置connectionstring属性和recordsource属性,为datagrid控件设置datasource属性,以达到将datagrid控件和数据库相连,在datagrid控件中显示相关信息的目的处于“出租审核”的合同可以打印,单击“打印合同”按钮,就能打印出所选的租赁合同,结果如图3.13。图3.13租赁合同的打印3.5.2汽车归还管理窗体设计本模块用于对车辆归还业务的管理,通过本模块可对已租车辆实现归还,信息修改,结算审核和查询操作,窗体设计如图3.14。图3.14汽车租赁归还管理界面当办理归还业务时,打开此窗体,单击叮嘱按钮“归还”,打开“车辆归还结算审核”,如图3.15。图3.15汽车归还结算界面按办理租赁业务时所创建的合同编号,查找相应的车辆信息,即可进行归还操作。当处理完归还信息后,返回“车辆租赁归还”窗体,在datagrid控件中显示出刚处理完的归还业务信息,车辆状态为“归还”,只有对“归还”状态的信息,才能执行“结算审核”操作。单击“结算审核”叮嘱按钮,将弹出一个对话框,询问用户是否确认结算审核信息,选择“是”,将最终完成车辆的归还业务的处理,此时车辆状态为“结算审核”。当添加完窗体上的各个控件后,进行窗体布局,属性设置。最终完成代码编写。如将窗体的名称属性设为'Frmreturn",caption属性设为“车辆租赁归还管理”,字体设置为“宋体”,Startupposit属性设为"2",即窗体首次出现时位置在屏幕中心,,然后编写代码如下:PrivateSubForm_Load()GridRefreshcob_Status.AddItem"归还",0cob_Status.AddItem"归还审核",1Cmd_RntCheck.Enabled=FalseEndSub结论经过三个月的摸索学习。最终完成了这个“汽车租赁管理系统”。通过对开发过程的探讨,我对对数据库及visualBasic6.0的运用方法有了更深的理解。让我深刻体会到一个工程的开发,编程过程并不那么简洁,从软件的需求分析到系统设计再到工程代码的实现,让我体会到要成为娴熟驾驭编程语言的软件开发者是多么不简洁,一个好用的高质量的系统软件,要想充分满足客户需求,必需扎扎实实的做好需求分析,为后续的系统设计和实现打下良好的基础。 本系统界面简洁,设计合理,能够实现预料的功能,但系统的容错性还不太完善。这也暴露出我的编程实力还有待提高。今后我会接着努力学习,不断充溢自己,提高自己的实力。总的来说,本系统的设计基本符合用户要求,可以为用户运用。由于本人水平有限,在设计思路和技巧方法上可能比较愚钝,在开发语言的驾驭上可能相对肤浅,所以,反映到系统中,难免存在许多的不足之处,殷切希望各位老师指责、指正。致谢首先我要诚意的感谢我的指导老师黄迎春老师,因为这篇论文是在他的悉心指导下才完成的。在设计的起初阶段,我总被一些问题所难倒,不知如何切入重点,从而让我对毕业设计失去了信念和耐性,是黄老师在百忙之中抽出休息时间对我进行了一番思想上的教化并耐性的一步一步的指导我的毕业设计。在老师的细心指导下,我重新对设计有了理性的思索,这不但解决了我心中的胆怯 ,而且也解决了我在毕业设计中所遇到的严谨的问题,而且使我更加懂得了如何去分析和解决问题,并从中体会到了真正成功的喜悦。黄老师在学术上赐予我细心的指导,可以说他一丝不苟的敬业精神、渊博的学术学问和严谨求实的治学看法使我受益匪浅,让我也把更多的精力放在了我在高校校原里最终的一次考试——毕业设计。通过这两个月的磨练,使我懂得了要想成为一名优秀的编程人员,不但要有良好的基础学问,踏实地基本功,更重要的是要有不怕困难,战胜困难的决心和志气。因此,每每遇到问题后我都会自己潜心探讨,查找各种资料,借助网络和图书两大信息力气,加上我平常的所学,尽量解决问题度过难关。其次还要感谢赐予我帮助、支持和激励的同学特殊是同组的同学,是他们给了我很大的帮助,让我能够顺当的完成本次毕业设计;是他们给了我高校最终时间的快乐,让我懂得学习的真谛。最终,我要向学习中静默支持我的家人和挚友,及全部关切帮助过我的师长和同学们表示真诚的感谢,因为你们的存在,使得我在走进高校后努力的学习,快速的增长学问,现在即将走出高校校内,我会加倍的努力,使自己更上一层楼,做个对社会有用的人!参考文献[1]罗朝盛.VisualBasic6.0程序设计教程.第三版.人民邮电出版社,2009.2[2]刘志妩.基于VB和SQL的数据库编程技术,第一版,清华高校出版社,2008.4.[3]刘玉山.VB数据库项目设计模块化教程,第一版,机械工业出版社,2009.8.[4]杨富国,王健.VisualBasic程序开发案例解析,第一版,北京交通高校出版社,2006.2[5]李勇帆.VisualBasic6.0程序设计和应用,人民邮电出版社,2006.2[6]沈大林.中文VisualBasic6.0好用教程:结构化程序设计.第一版,人民邮电出版社,2005.6[7]陈承欢.ADO.NET数据库访问技术案例教程,第一版.人民邮电出版,2008.4[8]杨芙清.全国计算机等级考试二级教程.第1版.高等教化出版社,2001,10[9]童爱红,候太平.VisualBasic数据库编程.第1版.清华高校出版社,北京交通高校出版社,2004,6:[10]刘文涛,VisualBasic+Access数据库开发和实例,第一版,清华高校出版社,2006.7附录程序代码PublicSubConnectstring()Conn="provider=Microsoft.Jet.Oledb.4.0;DataSource="&_App.pATH+"\database\CarMIS.mdb"&";PersistSecurityInfo=False"EndSubPrivateSubConnect()IfIsConnect=TureThenExitSubEndIfSetcnn=NewADODB.Connectioncnn.ConnectionString=Conncnn.OpenIfcnn.State<>adStateOpenThenMsgBox"数据库连接失败"EndEndIfIsConnect=TrueEndSubPrivateSubDisconnect()DimRcAsLongIfIsConnect=FalseThenExitSubEndIfcnn.CloseSetcnn=NothingIsConnect=FalseEndSubPublicSubDB_Connect()Connect_Num=Connect_Num+1ConnectEndSubPublicSubDB_Disconnect()IfConnect_Num>=CONNECT_LOOP_MAXThenConnect_Num=0DisconnectEndIfEndSubPublicSubDBapi_Disconnect()Connect_Num=0DisconnectEndSubPublicSubSQLExt(ByValTmpSQLstmtAsString)DimcmdAsNewADODB.CommandDB_ConnectSetcmd.ActiveConnection=cnncmd.CommandText=TmpSQLstmtcmd.ExecuteSetcmd=NothingDB_DisconnectEndSubPublicFunctionQueryExt(ByValTmpSQLstmtAsSrting)AsADODB.RecordsetDimrstAsNewADODB.RecordsetDB_ConnectSetrst.ActiveConnection=cnnrst.CuisorTyepe=aDOpenDynamicrst.LockType=adLockOptisticrst.OpenTmpSQLstmtSetQueryExt=rstEndFunctionPublicSubInit()UserName=""UserPwd=""EndSubPublicSubDelete(ByValTmpUserAsString)SqlStmt="DELETEFROMUsersWHEREUserName='"_+Trim(TmpUser)+"'"SQLExt(SqlStmt)EndSubPublicFunctionGetInfo(ByValTmpUserAsString)AsBooleanUserName=TampUserDimrsAsNewADODB.RecordsetSqlStmt="SELECT*FROMUsersWHEREUserName='"_+Trim(TmpUser)+"""Setrs=QueryExt(SqlStmt)Ifrs.EOFThenGetInfo=FalseExitFuntionElseIfIsNull(rs.Fields(1))ThenUserPwd=""ElseUserPwd=Trim(rs.Fields(1))EndIfEndIfGetInfo=TrueEndFunctionPublicFunctionIn_DB(ByValTmpUserAdString)AsBooleanDimrsAsNewADODB.RecordsetSqlStmt="SELECT*FROMUsersWHEREUserName='"_+Trim(TmpUser)+"""Setrs=QueryExt(SqlStmt)IfNotrs.EOFThenIn_DB=TrueElseIn_db=FalseEndIfEndFunctionPublicSubInset()SqlStmt="INSERTINTOUsersValues('"_+Trim(UserName)+"','"+Trim(UserPwd)+"')"SQLExt(SqlStmt)EndSubPublicSubUpdate(ByValTmpUserAsString)SqlStmt="UpdateUsersSetUserName='"+Trim(UserName)_+'"',UserPwd='"+Trim(UserPwd)_+"'WHEREUserName='"+Trim(TmpUser)+"'"SQLExt(SqlStmt)EndSubPublicSubInit()TypeName=""TypeId=1Description=""EndSubPublicSubDelete(ByValTmpIdAsLong)SqlStmt="DELETEFROMTypesWHEREId="+Trim(TmpId)SQLExt(SqlStmt)EndSubPublicFunctionGetInfo(ByValTmpIdAsLong)AsBooleanDimrsAsNewADODB.RecordsetSqlStmt="SELECT*FROMTypesWHEREId="+Trim(TmpId)Setrs=QueryExt(SqlStmt)Ifrs.EOFThenInitGetInfo=FalseElseIfIsNull(rs.Fields(0))ThenId=0ElseId=rs.Fields(0)EndIfIfIsNull(rs.Fields(1))ThenTypeName=""ElseTypeName=rs.Fields(1)EndIfIfIsNull(rs.Fields(2))ThenTypeId=1ElseTypeId=rs.Fields(2)EndIfIfIsNull(rs.Fields(3))ThenDescription=""ElseDescription=rs.Fields(3)EndIfGetInfo=TrueEndIfEndFunctionPublicFunctionIn_DB(ByValTmpTypeNameAsString,ByValTmpTidAs_Integer)AsBooleanDimrsAsNewADODB.RecordsetSqlStmt="SELECT*FROMTypesWHERETypeName'"_+Trim(TmpTypeName)+"'ANDTypeId="+Trim(Str(TmpTid))Setrs=QueryExt(SqlStmt)Ifrs.EOF=TrueThenIn_DB=FaleseElseIn_DB=TrueEndIfEndFunctionPublicSubGetInfoByTypeId(ByValTmpTypeIdAsInteger)DimrsAsNewADODB.RecordsetDimiAsLongEraseArr_TypeReDimArr_Type(0)EraseArr_IdReDimArr__Id(0)SqlStmt="SELECT*FROMTypesWHERETypeId="+Trim(TmpTypeId)Setrs=QueryExt(SqlStmt)i=0WhileNotrs.EOFReDimPreserveArr_Id(i+1)ReDimPreserveArr_Type(i+1)Arr_Id(i)=rs.Fields(0)Arr_TYPE(i)=RS.fIELDS(1)I=I+1rs.MoveNextWendEndSubPublicFunctionGetTypeNames(ByValTmpTypeIdsAsString)AsStringDimrsAsNewADODB.RecordsetDimiAsIntegeri=0GetTypeNames=""Sqlstmt="SELECT*FROMTypesWHEREIdIN("+Trim(TmpTypeIds)+")"Setrs=QueryExt(SqlStmt)WhlieNotrs.EOFIfi=0ThenGetTypeNames=rs.Fields(1)ElseGetTypeNames=GetTypeNames+","+rs.Fields(1)EndIfi=i+1rs.MoveNextWendEndFunctionPublicSubInsert()SqlStmt="INSERTINTOUsersValues('"_+Trim(UsersName)+"','"+Trim(UserPwd)+"')"SQLExt(SqlStmt)EndSubPublicSubUpdate(ByValTmpUserAsString)SqlStmt="UpdateUsersSetUserName='"+Trim(UserName)"_+"',UserPwd='"+Trim(UserPwd)_+"'WHEREUserName='"+Trim(TmpUser)+"'"SQLExt(SqlStmt)EndSubPublicSubInit()Company=""Telephone=""ZipCode=""Fax=""Address=""Email=""Contact=""TypeId=1Comment=""EndSubPublicSubDelete(ByValTmpIdAsLong)SqlStmt="DELETEFROMCompanyWHEREId="+Trim(TmpId)SQLExt(SqlStmt)EndSubPublicFunctionGetInfo(ByValTmpIdAsInteger)AsBooleanDimrsAsNewADODB.RecordsetSqlStmt="SELECT*FROMCompanyWHEREId="+Trim(TmpId)Setrs=QueryExt(SqlStmt)Ifrs.EOFThenInitGetInfo=FaleseElseIfIsNull(rs.Fields(0))ThenId=0ElseId=rs.Fields(0)EndIfIfIsNull(rs.Fields(1))ThenCompany=""ElseCompany=rs.Fields(1)EndIfIfIsNull(rs.Fields(2))ThenTelephone=""ElseTelephone=rs.Fields(2)EndIfIfIsNull(rs.Fields(3))ThenZipCode=""ElseZipCode=rs.Fields(3)EndIfIfIsNull(rs.Fields(4))ThenFax=""ElseFax=rs.Fields(4)EndIfIfIsNull(rs.Fields(5))ThenAddress=""ElseAddress=rs.Fields(5)EndIfIfIsNull(rs.Fields(6))ThenEmail=""ElseEmail=rs.Fields(6)EndIfIfIsNull(rs.Fields(7))ThenContact=""Contact=rs.Fields(7)EndIfIfIsNull(rs.Fields(8))ThenTypeId=1ElseTypeId=rs.Fields(8)EndIfIfIsNull(rs.Fields(9))ThenComment=""ElseComment=rs.Fields(9)EndIfGetInfo=TrueEndIfEndFunctionPublicFunctionIn_DB(ByValTmpTidAsInteger)AsBooleanDimrsAsNewADODB.RecordsetSqlStmt="SELECT*FROMCompanyWHERETypeId="+Trim(Str(TmpTid))Setrs=QueryExt(SqlStmt)Ifrs.EOF=TrueThenIn_DB=FlaseElseIn_DB=TrueEndIfEndFunctionPublicSubInsert()SqlStmt="INSERTINTOCompany(Company,Telephone,Fax,ZipCode,Address,"_&_"Email,Contact,TypeId,Comment)VALUES('"+Trim(Company)+_Trim(Telephone)+"','"+Trim(Fax)+"','"+Trim(ZipCode)+_"','"&_Trim(Address)+"','"+Trim(Email)+'','"+Trim(Contact)+_"','"&_Trim(TypeId)+",'"+Trim(Comment)+"')"SQLExt(SqlStmt)EndSubPublicSubUpdate(ByValTmpIdAsLong)SqlStmt="UPDATECompanySETCompany='"+Trim(Company)&_"',Telephone='"+Trim(Telephone)+"',Fax='"+Trim(Fax)+"',"&_"ZipCode='"+Trim(ZipCode)+"',Address='"+Trim(Address)+_"',Email='"&Trim(Email)+"',Contact='"+Trim(Contact)+"',Comment='"&_Trim(Comment)+"'WhereId="+Trim(Str(TmpId))SQLExt(SqlStmt)EndSubPublicSubUpdateToMember(ByValTmpIdAsString)SqlStmt="UpdateCustomerSetFlag=1,"_+"TypeId="+Trim(TypeId)_+"WHEREId='"+Trim(TmpId)+"'"SQLExt(SqlStmt)EndSubPublicSubUpdateStatus
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牛的饲养疫病监测技术发展考核试卷
- 网络犯罪防范考核试卷
- 电机在放射性检测设备中的应用考核试卷
- 种苗培育技术与实践考核试卷
- 苏轼的‘人间易学’:《东坡易传》成为青年读物的新热点
- 2025建筑施工劳务合同模板
- 2025电子产品购销合同样本
- 2025标准汽车买卖合同
- 苏少版小学美术三年级上册全册教案
- 商铺租金涨幅合同二零二五年
- 化工公司bluesign认证资料准备清单20201201
- 建设用地报批服务投标方案(技术方案)
- 短引线保护引出线保护以及T区保护
- 完美公司玛丽艳美的观念
- 浙摄影版(2020)信息技术三年级上册第一课认识计算机(课件)
- 校园安全常识测试题卷
- 建筑用玻璃ccc标准
- 第一课中国人民站起来了
- 眼科门诊病历
- 彝文《指路经》课件
- 《神经系统的传导通路》课件
评论
0/150
提交评论