数据库课程设计报告(汽车租赁管理系统)_第1页
数据库课程设计报告(汽车租赁管理系统)_第2页
数据库课程设计报告(汽车租赁管理系统)_第3页
数据库课程设计报告(汽车租赁管理系统)_第4页
数据库课程设计报告(汽车租赁管理系统)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、一.系统简介本系统为汽车租赁系统,采用B/S实现.可以实现不同权限的浏览和治理.治理员可以用于汽车租赁公司对汽车租赁事务的治理,包括新增、删除车辆记录,新增、删除用户记录,新增、删除租赁信息记录,新增、删除治理人员记录以及会员设置,客户那么可以浏览车辆信息和个人的租车信息.主要技术:jsp运行环境:winowsos+apachetomcat5.5+sqlserver2005+jdk1.6开发软件:myeclipse6.0.1开源软件:jxl.jar,sqljdbc4.jar二.数据库设计1.需求分析由于客户只能亲自到汽车租赁公司去注册或租赁车辆,因而,两者权限分配如下:汽车公司方面:能够对车辆

2、,租赁信息和用户信息进行治理.超级治理员还可以对公司内部人员的信息进行治理客户方面:只能浏览车辆信息和个人用户信息及个人租赁信息.数据流图如下:内部人2.概念设计ER图如下所示:3.逻辑设计建表语句如下:/用户证件号/用户名/用户类型,是否为会员/信誉度,总分值100./用户登录密码治理员表:createtablemanager(widvarchar(8)primarykey,typeint,usernamevarchar(8),passwordvarchar(8)typevarchar(8),statevarchar(8),widvarchar(8),yearint,monthint,day

3、int,timeint,detailinfotext,payint);/车辆类型/车辆状态,是否可租/起租年月日/车辆详细信息/租用单价用户表:后为各字段意义声明createtableuserinfo(pidvarchar(8)primarykey,usernamevarchar(8),isvipint,xingyuint,passwordvarchar(8);/治理员工号/类型,超级治理员部门经理等和普通治理员治理员用户名/治理员密码);车辆表:createtabletaxi(tidvarchar(8)primarykey,/车辆编号租车信息表createtablerentinfo(ridi

4、ntidentity(1,1)primarykey,/交易编号widvarchar(8),/经手人员pidvarchar(8),客户证件号tidvarchar(8),/车辆号yajinint,押金backmoneyint,/返还金额payint,/单价brokenvarchar(8),/破坏情况outyearint,/结束交易时间outmonthint,outdayint,timeint,/实际使用时间statevarchar(8)/交易状态);-设置外键BEGINTRANSACTIONaltertabledbo.rentinfoaddconstraintFK_rentinfo_tidfore

5、ignkey(tid)referencesdbo.taxi(tid)altertabledbo.rentinfoaddconstraintFK_rentinfo_pidforeignkey(pid)referencesdbo.userinfo(pid)altertabledbo.rentinfoaddconstraintFK_rentinfo_widforeignkey(wid)referencesdbo.manager(wid)COMMITTRANSACTION4.数据库建立与备份,恢复在sqlserver2005建立一个数据库,名称为hello,执行以上建表语句即可.或者将hello.md

6、f,hello_log.ldf文件恢复.sp_attach_db'hello','C:ProgramFilesMicrosoftSQLServerMSSQLDatahello.mdf,'C:ProgramFilesMicrosoftSQLServerMSSQLDatahello_log.ldfsp_attach_single_'hello','C:ProgramFilesMicrosoftSQLServerMSSQLDatahello.mdf备份:将hello数据库备份成hello.bak文件三.框架实现系统总体框架实现如下列图所示:以下

7、是各模块的子功能截图:登录模块截图:超级治理员页面截图:员工信息治理页面截图:员工信息治理单表查询请诜荐马丁V萼J用户名工号权限更改密阴除1111Z部门立理更改密健刑除疗123一更?密出州除UU145部门奸评市其密中州除员工业绩查询多表查询牙选里工工:百达/Y1/T剧析?人员住期金占况:百车g号鞋手人员工号变事*ij34堂品苑M212L&交同巳一庶ij34堂与中£1213tiajd皿立是中412L9耒之应品Jj北受禺施理M12320文邑已水即3231鳖后我T612以党同日完忒,一员t-j增加员工单表插入数据修改个人密码客户信息治理:交易信息查询多表查询搜索客;谙输入牛户的城名

8、濡潮车型:全都yjil上,*JJJ4更是之感T12EfidGTFMrzixjy-yi-za2D变息gj;jj费里中12L8ridsrrMr2039-9-?9招独变写wi*fi盟1文品中<匠19msTFSir2021-11-?n天就宽号Jj34交是群H123四marrc#'7H39-9-?31口克后At叩3231交是完成76INZlr>a&ITTMFzcm-g-TaOD曳晨已急快案客由:语京人客户的姓名IJ-t1-13段作3S31普灌客户1IJ0也为会员身出W除JJ34会员1IJ0取涓会员身造阳降器j丽El普通客户130或为会员身信用摩车辆信息治理:车辆信息查询于上我

9、2:型加年V|笈/本厘1£杆型用:M琢车W号事将安易日期望用时同工关口比用单除C元/天备注神1越方车我号初0-M04*本车国于,武量住证,羲里量文.册1除14黄军交昌关咸£000-9-290SI军业国.,质量怅让凝塞量入口,除E壮耳炎岳中MDef黑10工三国一,用三何iT.敢第三天.姗解4皆主中后中加盼什第10立在国师尽用1F蒂本用工-副作TS卡车三易完成353主车国二,质皇库瓦载重量工.册1砰计游标潜:砰,:0000元哲尸证,:3E17天ftH:罟用罡件用时回t10无正际时用H司:0得麟情:1qertoi7痛断0元躁命地:pooojE财务信息查询:再选择您要查看的月松:2

10、0211年月悭索W查看的是二p9年9月交易号经手人并客户证号辆,161234220002000noerror2021-9-29020123341460006000HQerror如口立9-四021123Z317620002000noerror2021-9-2905、击下面链接进行禊作:导出EME口Jg表数据操作实现方法:定义一个类DataManager;在每个jsp页面中实例化这个类,并调用它的某个方法,完成数据库的连接,数据查询,删除,及修改操作.程序例如:如check.jsp里面可以验证用户登录信息,并转向不同页面.DataManagerdm=newDataManager();/实例化Dat

11、aManager类ResultSetrs=null;if(type=1)/如果是以客户身份登录Stringsql="select*fromuserinfowhereusername='"+username+""'+"andpassword='"+password+"'rs=dm.getResult(sql);/由用户名和密码获取记录if(rs.next()/如果记录不为空,说明该客户存在Stringpid=rs.getString("pid");/保存该用户信息sessio

12、n.setAttribute("type","1");session.setAttribute("pid",pid);session.setAttribute("username,username);response.sendRedirect("user.jsp");/转向客户页面else/转向治理员页面,以下与上面if语句类似.Stringsql="select*frommanagerwhereusername='"+username+""'+&q

13、uot;andpassword='"+password+"'andtype="+type;System.out.println(sql);rs=dm.getResult(sql);if(rs.next()Stringwid=rs.getString("wid");session.setAttribute("type",t);session.setAttribute("wid",wid);session.setAttribute("username,username);respon

14、se.sendRedirect("manager.jsp");此外,系统具有良好的平安性,对每个页面都有良好的保护举措,如manashare.jsp,usershar.jsp,通过session验证用户有无权限进入该页面,否那么跳转到login.jsp页面,重新登录.四.程序设计1 .含有表单的jsp页面可以通过设置隐藏域的值来提交到本页面,其程序流程如下:2 .财务治理中有个导出execl报表的功能,其实现如下:从网上下载一个jxl.jar包,该jar包支持生成execl文件的操作,然后建立个专门的类,用于生成execl,该类源码如下:packagemy.pkgs;imp

15、ortjava.io.*;importjxl.*;/jxl.jar里面的类库importjxl.write.*;importjava.sql.*;publicclassCreateXLSpublicStringcreate(ResultSetrs,String)tryFilef=new);booleanexist=f.exists();WritableWorkbookbook=Workbook.createWorkbook(new);生成名为“第一页的工作表,参数0表示这是第一页WritableSheetsheet=book.createSheet("第一页",0);在La

16、bel对象的构造子中指名单元格位置是第一列第一行(0,0)交易号");经手人员");客户证号");车辆号");押金(元)");返还金额(元)");破坏情况");开始时间");实收金额(元)");以及单元格内容为testLabellabel0=newLabel(0,0,Labellabell=newLabel(1,0,Labellabel2=newLabel(2,0,Labellabel3=newLabel(3,0,Labellabel4=newLabel(4,0,Labellabel5=newLabel(

17、5,0,Labellabel6=newLabel(6,0,Labellabel7=newLabel(7,0,Labellabel8=newLabel(8,0,sheet.addCell(label0);sheet.addCell(labell);sheet.addCell(label2);sheet.addCell(label3);sheet.addCell(label4);sheet.addCell(label5);sheet.addCell(label6);sheet.addCell(label7);sheet.addCell(label8);inti=1;while(rs.next()j

18、xl.write.Numberlabel01=newjxl.write.Number(0,i,rs.getInt(1);Labellabelll=newLabel(1,i,rs.getString(2);Labellabel21=newLabel(2,i,rs.getString(3);Labellabel31=newLabel(3,i,rs.getString(4);jxl.write.Numberlabel41=newjxl.write.Number(4,i,rs.getInt(5);jxl.write.Numberlabel51=newjxl.write.Number(5,i,rs.ge

19、tInt(6);Labellabel61=newLabel(6,i,rs.getString(8);Labellabel71=newLabel(7,i,rs.getInt(9)+"-"+rs.getInt(10)+"-"+rs.getInt(11);jxl.write.Numberlabel81=newjxl.wr让e.Number(8,i,rs.getInt(5)-rs.getInt(6);sheet.addCell(label01);sheet.addCell(label11);sheet.addCell(label21);sheet.addCell

20、(label31);sheet.addCell(label41);sheet.addCell(label51);sheet.addCell(label61);sheet.addCell(label71);sheet.addCell(label81);i+;book.write();book.close();catch(Exceptione)e.printStackTrace();return"ok"测试creat方法publicstaticvoidmain(Stringarg)throwsSQLExceptionCreateXLSc=newCreateXLS();DataM

21、anagerdm=newDataManager();Stringsql="select*fromrentinfowhereoutyear="+2021+"andstate='交易完成'"System.out.println(sql);ResultSetrs=dm.getResult(sql);c.create(rs,"c:3.xls");在jsp页面中调用该类方法既能生成Exel文件,源码如下:/该文件名按apachetomcat安装目录而定String="C:/ProgramSoftwareFoundati

22、on/Tomcat5.5/webapps/COURSEPROJECT/execls/"+year+"-"+month+".xls"CreateXLScxls=newCreateXLS();cxls.create(rss,);语句3 .用到了数据库知识里面的触发器,该触发器用于新增交易信息时,sql如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETRIGGERrent1onrentinfoAFTERinsertASBEGINupdatetaxisettaxi.state=i.state,taxi

23、.year=i.outyear,taxi.month=i.outmonth,taxi.day=i.outday,taxi.time=i.timefromtaxit,Insertediwheret.tid=i.tidSETNOCOUNTON;ENDGOcreatetableinanager0303(widvarchar(8)primaryJrey,typeintfusernamevarchar(8)rpasswordvarchar(8);消息命令已成功完成.Qcreatetabletaxi0303cidvarchar(8)primarytypevarchar(8)zstatevarchar(8)

24、rwidvarchar(8),yearintrmonthintrdayint,tuneintrdetailinfotext,payintkey/*车辆编号*/*车辆类型"八车辆状态,是否可租上/八起租年月日"/车辆详细信息/"租用单价*7inh消息命令已成功完成.日createtableuerjmfo0303key,/用户证件号"/我用户名*/*用户类型,是否为会员*/八信誉度,总分值10.*/痈声登录密宿*/pldvaxchax(8)piimaxyusernamevarchar(8),isvipintzxingyuintrpasswordvarchar

25、(8);曲消息命令已成功完成.3createtablerencinfo0303(ridincidenticy(lr1)primarykeyr/交易编号*/widvarchar(8)八经手人员*/pidvarchar(8)/客户证彳牛号,/cidvarchar(8)F/*车辆号yajininc八押金*/backmoneyintF八返还金额/pay单价/brokenvarchar(8j,/一破坏情况7outyearinJ结束交舄前而"/oucmonchlncFoutdayintFtimeinJ八实际使用町间jscacevaxchax"交舄状态trr消息而令已成功完成.pidus

26、ernameisvipxingyupassword王充190430001430132林克084430002430133彭柳蓉073430003430244桶海波192130524430256李国强088178934430673彭开怀1931904万米NULLMJLLNULLNULLNULL口朋PC.与管登=0.Q.userhfo03031I»ffiPCMBg«0.ojentinfo0303Xridwidpidtidyajnbadcnoneyp11111430131F0001290ICO20002390ISO2cK113qjom尸0003RO200Z

27、C16114430244F000450030)300053002002CNULLNULLNULLNULLHULLNULL55BEGINTRANSACTIONaltertabledbo.renexnfo0303addconstraintFKreneinfo_eldforeignkey(tid)referencesdbo.caxx0303(cid>altertabledbo.rentxnfo0303addconstraintFK_renemfopldforeignkey(pid)referencesdbo.userxn£o0303(pxdaltertabledbo.rentxnfo0303addconstraintFK_renemfo_widforeignIcey(wid)referencesdbo.manager0303(wldCOMMITTRANSACTION/Iin石消息命令已成功完成Owidtypeusernamepassword1王子豪40303211121王晓B月40303221130朴慧京40303231140符桂花4030324115_0邓稼先4030325米NULLMJLLNULLMULLr-DCtvoe

温馨提示

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

评论

0/150

提交评论