wx供重浩:创享日记
 对话框发送:汽车租赁系统
 获取完整源码源文件+视频演示+文档资料等

一、 课程设计目的
 1、综合运用Java程序设计课程和其他相关课程的理论和知识,掌握面向对象程序设计的一般方法、常用技术及技巧,树立良好的软件设计思想,培养分析问题和解决实际问题的能力;
 2、学会从OOP程序设计的方法及要求出发,认真分析题目,做好总体设计,根据要求科学地设计包、类、接口等,正确设计算法,合理安排界面,规范开发过程,仔细调试程序,做好设计总结;
 3、充分利用互联网资源,提高学生获取知识,实践知识的能力。
二、 课程设计内容
 汽车信息租赁信息管理系统
 要求:设计一个图形用户界面程序,实现以下功能:
 前台浏览(用户注册,信息修改,车辆浏览),后台管理(车辆信息的录入,管理员登录)
- 管理员/用户登陆
- 2.汽车信息的录入、修改、查询、删除 3.客户的租用车辆查看浏览信息。
三、系统描述
需求分析是发现需求,分析求精,逻辑建模,需求规约的过程,其的目的是为了全面获取软件需求,准确理解业务逻辑。车辆租赁系统具有以下基本功能。
- 用户管理:
 包括用户的注册,登陆等,没有账户的用户可以注册会员,登录,通过分类查询车辆,以及查看其详细信息。
- 车源管理:
 包括车辆信息的删除,添加,修改等,管理员能够向数据库中发布车辆信息,包括车辆的车型,价格,车主等信息。
- 车源信息查找
 用户可以在窗口上直接浏览车辆基本信息,也可以按照不同的要求方式对车辆信息进行查询,这样用户可以方便的找到自己想要的车源,人性化的查找方式为用户带来了极大的便利。
四、系统解决的问题
本系统主要完成前台浏览(用户注册,信息修改,车辆浏览),后台管理(车辆信息的录入,管理员登录)等功能。通过以上功能实现简单,便捷的租车系统。
车辆浏览:所有人都可以操作,顾客可以随意浏览车辆信息,按照车辆的序号排序,在点击按钮后,可以在表格中显示出可以租用车辆的信息,可以让用户选择。
 车辆租用:顾客在浏览车辆信息后,可以根据自身需求选择所需租用的车辆,输入车辆的序号后,点击确定按钮,可以成功租用车辆,并且该车辆是否被租用的信息会自动更改为已被租用,如果用户租用已被租用的车辆则租用失败,无法租用成功。
 车辆管理:该功能只能由管理员完成,由管理员完成对车辆信息的录入包括录入车辆的车主,价格,是否被租用等信息,并可以删除车辆信息。
 会员管理:该功能由管理员完成,管理员可以注册其他的用户帐号,并将帐号密码录入数据库中。

五、数据库设计

六、运行结果

 
 
 
 
 
 
 
 以下部分代码请忽略
public void connDB() { // 连接数据库
    try {
      Class.forName("com.mysql.jdbc.Driver");//注册驱动
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
    try {//创建连接
      con = DriverManager.getConnection(DbUtil.dbUrlString, DbUtil.dbUser, DbUtil.dbpassword);
      stmt = con.createStatement();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    
  }
  public void closeDB() // 关闭连接
  {
    try {
      stmt.close();
      con.close();
    } 
    catch (SQLException e) {
      e.printStackTrace();
    }
    
  }
  @Override
  public void actionPerformed(ActionEvent e)
 {
    Object source = e.getSource();
    String username = null;
    String user_password = null; 
    int success = 1;//如果已经存在了此账号,则赋值为0,作为进入创建账号方法的进入条件
    if(source == buttonOfZhuce)
    {
      if (field1.getText().equals("") || field2.getText().equals("")||field3.getText().equals("") )
      {// 判断是否输入了用户名和密码
        JOptionPane.showMessageDialog(null, "请填写完整!");
      }
      else//密码账号都不为空后
      {
        try {
            this.connDB();
            String sql = "select * from user where username ='"+field1.getText()+"'";
            rs = stmt.executeQuery(sql);
            if(rs.next())
            {
              JOptionPane.showMessageDialog(null, "此账号已经存在!");
              field1.setText("");
              success = 0;
              this.closeDB();
            }
          } catch (HeadlessException e2) {
            e2.printStackTrace();
          } catch (SQLException e2) {
            e2.printStackTrace();
          }//这个trycatch模块用来判断  创建账号之前数据库有没有此账号!,如果有 success = 0,就进入不了下面创建账号的语句
        
        if(field2.getText().equals(field3.getText())&&success==1)
        {
          
          String str = "insert into user values('" + field1.getText() + "','" +field2.getText()+"')";
          try {
            stmt.executeUpdate(str);
          } catch (SQLException e1) {
            e1.printStackTrace();
          }
          JOptionPane.showMessageDialog(null, "注册成功!");
          this.dispose();
          new Login();
        }
        else
        {
          this.closeDB();
          if(success == 1)
          {
            JOptionPane.showMessageDialog(null,"两次输入的密码不匹配!" );
          }
        }    
      }
    }
    else if(source == buttonOfFanhui)
    {
      this.dispose();
      new Login();
    }
  }
}



















