⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hotelmanageframe.java~23~

📁 Java+SQL2000宾馆管理系统,可实现简单的管理操作。
💻 JAVA~23~
📖 第 1 页 / 共 3 页
字号:
              roomTextField.getText() + "', '" +
              c + "')";
          operInfoTextArea.append("\n发送的命令:" + connect.nativeSQL(query) + "\n");

          int result = statement.executeUpdate(query);

          if (result == 1) {
            operInfoTextArea.append("\n插入成功\n");
            queryDataSet.refresh();
          }
          else {
            operInfoTextArea.append("\n插入失败\n");
            nameTextField.setText("");
            sexComboBox.setSelectedIndex( -1);
            ageTextField.setText("");
            idTextField.setText("");
            roomTextField.setText("");
          }
        }
        statement.close();
      }

    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      operInfoTextArea.append(sqlex.toString());
    }

  }

  void roomwithpeople(String roomnum) {
    try {

      Statement statement = connect.createStatement();
      String query = "SELECT * FROM hotel WHERE room = '" + roomnum + "'";
      operInfoTextArea.append("\n发送的命令: " +
                              connect.nativeSQL(query)
                              + "\n");
      ResultSet rs = statement.executeQuery(query);
      judge(rs);

      statement.close();

    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      operInfoTextArea.append(sqlex.toString());
    }

  }

  void judge(ResultSet r) {

    try {
      //r.next();

      //int recordNumber = r.getInt( 1 );

      if (r.next()) {

        roomordered = true;

      }
      else
        roomordered = false;
    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      operInfoTextArea.append(sqlex.toString());
    }

  }

  void guestQueryButton_actionPerformed(ActionEvent e) {
    try {
      if (!nameTextField.getText().equals("")) {
        Statement statement = connect.createStatement(ResultSet.
            TYPE_SCROLL_INSENSITIVE,
            ResultSet.CONCUR_UPDATABLE);
        String query = "SELECT ALL  * FROM hotel " +
            "WHERE name = '" +
            nameTextField.getText() + "'";

        operInfoTextArea.append("\n发送的命令: " +
                                connect.nativeSQL(query)
                                + "\n");
        ResultSet rs = statement.executeQuery(query);
        display(rs);
        operInfoTextArea.append("\n查询成功\n");
        statement.close();
      }
      else
        operInfoTextArea.setText(
            "请输入要查找的旅客姓名");
    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      operInfoTextArea.append(sqlex.toString());
    }

  }

  void display(ResultSet rs) {
    try {
      Calendar cal = Calendar.getInstance();
      String current = cal.get(Calendar.YEAR) + "-" +
          (cal.get(Calendar.MONTH) + 1) +
          "-" + cal.get(Calendar.DATE);
      boolean morerows = false;

      if (rs.next()) {
        nameTextField.setText(rs.getString(1));
        sexComboBox.setSelectedItem(rs.getString(2));
        ageTextField.setText(rs.getString(3));
        idTextField.setText(rs.getString(4));
        String roomNum = rs.getString(5);
        roomTextField.setText(roomNum);
        String indate = rs.getString(6);
        indate = indate.trim();
        Countdays count = new Countdays(indate, current);
        int roomType = getRoomType(roomNum);
        if (roomType == 0) priceEachday = PRICE_EACH_DAY_SINGLE_ROOM;
        else if (roomType == 1) priceEachday = PRICE_EACH_DAY_DOUBLE_ROOM;
        moneyTextField.setText(" " + priceEachday * count.getdays());
        if (rs.next()) morerows = true;
      }
      else
        operInfoTextArea.append("\n没找到记录\n");

      if (morerows) {
        rs.beforeFirst();
        message(" 您要查找的人的姓名不止一个,请在操作信息栏中查看,谢谢!");
        String p = "name" + "\t" + "sex" + "\t" + "age" + "\t" +
            "idnumber" + "\t\t\t" + "room"
            + "\t" + "money" + "\n";
        while (rs.next()) {
          String name = rs.getString(1);
          String sex = rs.getString(2);
          String age = rs.getString(3);
          String idnumber = rs.getString(4);
          String roomNum = rs.getString(5);
          String indate = rs.getString(6);
          indate = indate.trim();
          Countdays count = new Countdays(indate, current);
          int roomType = getRoomType(roomNum);
          if (roomType == 0) priceEachday = PRICE_EACH_DAY_SINGLE_ROOM;
          else if (roomType == 1) priceEachday = PRICE_EACH_DAY_DOUBLE_ROOM;
          String money = " " + priceEachday * count.getdays();

          p = p + name + "\t" + sex + "\t" + age
              + "\t" + idnumber + "\t\t" + roomNum + "\t" +
              money + "\n";

        }
        operInfoTextArea.setText(p);

      }
    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      operInfoTextArea.append(sqlex.toString());
    }
  }

  private int getRoomType(String roomNum) {
    int num = Integer.parseInt(roomNum);
    if (num >= 201 && num <= 206)return 0; //单人房
    else if (num >= 301 && num <= 306)return 0; //单人房
    else if (num >= 401 && num <= 404)return 1; //双人房
    else if (num >= 501 && num <= 504)return 1; //双人房
    return -1;
  }

  void clearButton_actionPerformed(ActionEvent e) {
    nameTextField.setText("");
    sexComboBox.setSelectedIndex( -1);
    ageTextField.setText("");
    idTextField.setText("");
    roomTextField.setText("");
    moneyTextField.setText("");
    operInfoTextArea.setText("");
  }

  boolean morethanone = false;
  JPanel guestListPanel = new JPanel();
  JPanel managementPanel = new JPanel();
  GridBagLayout gridBagLayout2 = new GridBagLayout();
  BorderLayout borderLayout1 = new BorderLayout();
  GridLayout gridLayout1 = new GridLayout();
  TitledBorder titledBorder1;
  TitledBorder titledBorder2;
  GridBagLayout gridBagLayout1 = new GridBagLayout();
  BorderLayout borderLayout2 = new BorderLayout();
  TitledBorder titledBorder3;
  TitledBorder titledBorder4;
  TitledBorder titledBorder5;
  Border border1;
  TitledBorder titledBorder6;
  TitledBorder titledBorder7;
  GridBagLayout gridBagLayout3 = new GridBagLayout();

  void deleteGuestButton_actionPerformed(ActionEvent e) {
    try {
      if (!nameTextField.getText().equals("")) {
        Statement statement = connect.createStatement(ResultSet.
            TYPE_SCROLL_INSENSITIVE,
            ResultSet.CONCUR_UPDATABLE);
        String query = "SELECT ALL  * FROM hotel " +
            "WHERE name = '" +
            nameTextField.getText() + "'";

        operInfoTextArea.append("\n发送的命令: " +
                                connect.nativeSQL(query)
                                + "\n");

        ResultSet rs = statement.executeQuery(query);
        displaydetail(rs);
        //jTextArea1.append( "\n查询成功\n" );
        statement.close();
      }
      else
        operInfoTextArea.setText(
            "请输入要删除的旅客姓名");
    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      operInfoTextArea.append(sqlex.toString());
    }

  }

  void displaydetail(ResultSet rs) {
    try {
      Calendar cal = Calendar.getInstance();
      String current = cal.get(Calendar.YEAR) + "-" +
          (cal.get(Calendar.MONTH) + 1) +
          "-" + cal.get(Calendar.DATE);
      boolean morerows = false;
      if (rs.next()) {
        nameTextField.setText(rs.getString(1));
        sexComboBox.setSelectedItem(rs.getString(2));
        ageTextField.setText(rs.getString(3));
        idTextField.setText(rs.getString(4));
        String roomNum = rs.getString(5);
        roomTextField.setText(roomNum);
        String indate = rs.getString(6);
        indate = indate.trim();
        Countdays count = new Countdays(indate, current);
        int roomType = getRoomType(roomNum);
        if (roomType == 0) priceEachday = PRICE_EACH_DAY_SINGLE_ROOM;
        else if (roomType == 1) priceEachday = PRICE_EACH_DAY_DOUBLE_ROOM;
        moneyTextField.setText(" " + priceEachday * count.getdays());
        if (rs.next()) morerows = true;
        if (!morerows) {
          String command = "DELETE FROM hotel WHERE name LIKE" +
              "'" + nameTextField.getText().trim() + "'";
          delete(command);
        }

      }
      else
        operInfoTextArea.append("\n没找到记录\n");

      if (morerows) {
        rs.beforeFirst();
        String p = "name" + "\t\t" + "room" + "\n";
        while (rs.next()) {
          String name = rs.getString(1);
          String roomNum = rs.getString(5);
          String indate = rs.getString(6).trim();
          Countdays count = new Countdays(indate, current);
          p = p + name + "\t\t" + roomNum + "\n";
        }
        operInfoTextArea.setText(p);

        String roomnum = "";
        String command = "";
        roomnum = JOptionPane.showInputDialog(
            " 有同名旅客,请在操作信息栏中查看,并在当前行填入要退房的旅客的具体房号,谢谢!");
        while (!judgeRoomNum()) {
          roomnum = JOptionPane.showInputDialog(
              "您输入的房号不合法,房间号必须在201-206、301-306、401-404、501-504之间,请您重新输入,谢谢!");
        }
        command = "DELETE FROM hotel WHERE name LIKE" + "'" +
            nameTextField.getText() + "'" + "AND room LIKE" + "'" + roomnum +
            "'";
        delete(command);

      }
    }
    catch (SQLException sqlex) {
      sqlex.printStackTrace();
      operInfoTextArea.append(sqlex.toString());
    }
  }

  void delete(String command) {
    int i = JOptionPane.showConfirmDialog(this,
        "如果旅客尚未结帐,请单击否;如果旅客已经结帐,请单击是,系统将删除此旅客信息。", "请确认旅客是否已经结帐",
                                          JOptionPane.YES_NO_OPTION);
    if (i == JOptionPane.YES_OPTION) {
      try {
        Statement statement = connect.createStatement();
        String query = command;

        operInfoTextArea.append("\n发送的命令:" + connect.nativeSQL(query) + "\n");

        int result = statement.executeUpdate(query);

        if (result == 1){
          operInfoTextArea.append("\n删除成功\n");
          queryDataSet.refresh();
        }
        else {
          operInfoTextArea.append("\n删除失败,请查看输入的房号是否正确。\n");
          nameTextField.setText("");
          sexComboBox.setSelectedIndex( -1);
          ageTextField.setText("");
          idTextField.setText("");
          roomTextField.setText("");
        }
        statement.close();
      }
      catch (SQLException sqlex) {
        sqlex.printStackTrace();
        operInfoTextArea.append(sqlex.toString());
      }
    }
  }

  void aboutMenuItem_actionPerformed(ActionEvent e) {
    JTextArea t = new JTextArea(2, 60);
    t.setLineWrap(true);
    t.setEditable(false);
    JScrollPane p = new JScrollPane(t);
    t.setText(
        "本软件的最初版本由QQ为2410052的朋友编写。本书作者在旧版本的基础上对软件进行了改进。");
    JOptionPane.showMessageDialog(null,"本软件的最初版本由QQ为2410052的朋友编写。本书作者在旧版本的基础上对软件进行了改进。", "谢谢使用,请多提意见!",
                                  JOptionPane.INFORMATION_MESSAGE);

  }

  void emptyRoomSearchButton_actionPerformed(ActionEvent e) {
    try {

      Statement statement = connect.createStatement(ResultSet.
          TYPE_SCROLL_INSENSITIVE,
          ResultSet.CONCUR_UPDATABLE);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -