1、超级管理员还可以对公司内部人员的信息进行管理客户方面:只能浏览车辆信息和个人用户信息及个人租赁信息。数据流图如下: 2. 概念设计ER图如下所示:3. 逻辑设计建表语句如下:用户表:后为各字段意义声明create table userinfo( pid varchar(8) primary key, 用户证件号 username varchar(8), 用户名 isvip int, 用户类型,是否为会员 xingyu int, 信誉度,满分100。 password varchar(8) 用户登录密码);管理员表:create table manager wid varchar(8) prim
2、ary key, 管理员工号 type int, 类型,超级管理员(部门经理等)和普通管理员 username varchar(8), 管理员用户名 password varchar(8) 管理员密码车辆表:create table taxi tid varchar(8) primary key,车辆编号 type varchar(8), 车辆类型 state varchar(8), 车辆状态,是否可租 wid varchar(8), year int, 起租年月日 month int, day int, time int, detailinfo text, 车辆详细信息 pay int 租用
3、单价租车信息表create table rentinfo rid int identity(1,1) primary key, 交易编号 wid varchar(8), 经手人员 pid varchar(8), 客户证件号 tid varchar(8), 车辆号码 yajin int, 押金 backmoney int, 返还金额 pay int,单价 broken varchar(8),破坏情况 outyear int,结束交易时间 outmonth int, outday int, time int,实际使用时间 state varchar(8)交易状态 );-设置外键BEGIN TRAN
4、SACTIONalter table dbo.rentinfo add constraint FK_rentinfo_tidforeign key (tid)references dbo.taxi(tid) alter table dbo.rentinfo add constraint FK_rentinfo_pidforeign key (pid)references dbo.userinfo(pid) alter table dbo.rentinfo add constraint FK_rentinfo_widforeign key (wid)references dbo.manager(
5、wid) COMMIT TRANSACTION4. 数据库建立与备份,恢复在sql server 2005 建立一个数据库,名称为hello,执行以上建表语句即可。或者将hello.mdf,.setAttribute(type, 1 session.setAttribute(pid, pid);username, username); response.sendRedirect(user.jsp转向客户页面 else 转向管理员页面,以下与上面if语句类似。 String sql = select * from manager where username= + username + + an
6、d password = + password + and type =+type; System.out.println(sql); rs = dm.getResult(sql); if (rs.next() String wid = rs.getString(wid, t);, wid);manager.jsp 此外,系统具有良好的安全性,对每个页面都有良好的保护措施,如manashare.jsp,usershar.jsp,通过session验证用户有无权限进入该页面,否则跳转到login.jsp页面,重新登录。三 程序设计 1.含有表单的jsp页面可以通过设置隐藏域的值来提交到本页面,其
7、程序流程如下:2.财务管理中有个导出execl报表的功能,其实现如下: 从网上下载一个jxl.jar包,该jar包支持生成execl文件的操作,然后建立一个专门的类,用于生成execl,该类源码如下:package my.pkgs;import java.io.*;import jxl.*; jxl.jar里面的类库import jxl.write.*;import java.sql.*;public class CreateXLS public String create(ResultSet rs,String filename) try File f = new File(filename
8、); boolean exist = f.exists(); WritableWorkbook book = Workbook.createWorkbook(new File(filename); 生成名为“第一页”的工作表,参数0表示这是第一页 WritableSheet sheet = book.createSheet(第一页, 0); 在Label对象的构造子中指名单元格位置是第一列第一行(0,0) 以及单元格内容为test Label label0 = new Label(0, 0, 交易号 Label label1 = new Label(1, 0, 经手人员 Label label
9、2 = new Label(2, 0, 客户证号 Label label3 = new Label(3, 0, 车辆号码 Label label4 = new Label(4, 0, 押金(元) Label label5 = new Label(5, 0, 返还金额(元) Label label6 = new Label(6, 0, 破坏情况 Label label7 = new Label(7, 0, 开始时间 Label label8 = new Label(8, 0, 实收金额(元) sheet.addCell(label0); sheet.addCell(label1); sheet.
10、addCell(label2); sheet.addCell(label3); sheet.addCell(label4); sheet.addCell(label5); sheet.addCell(label6); sheet.addCell(label7); sheet.addCell(label8); int i = 1; while (rs.next() jxl.write.Number label01 = new jxl.write.Number(0,i,rs.getInt(1); Label label11 = new Label(1, i, rs.getString(2); La
11、bel label21 = new Label(2, i, rs.getString(3); Label label31 = new Label(3, i, rs.getString(4); jxl.write.Number label41 = new jxl.write.Number(4, i, rs.getInt(5); jxl.write.Number label51 = new jxl.write.Number(5, i, rs.getInt(6); Label label61 = new Label(6, i, rs.getString(8); Label label71= new
12、Label(7, i, rs.getInt(9) + - + rs.getInt(10) + + rs.getInt(11); jxl.write.Number label81 = new jxl.write.Number(8, i, rs.getInt(5) - rs.getInt(6); sheet.addCell(label01); sheet.addCell(label11); sheet.addCell(label21); sheet.addCell(label31); sheet.addCell(label41); sheet.addCell(label51); sheet.addCell(label61); sheet.addCell(label71); sheet.addCell(label81); i+; book.write(); book.close(); catch (Exception e) e.printStackTrace(); return ok;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1