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

📄 updatedialog.java

📁 是适合于使用的管理系统 可以在现实中使用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
  void deleteRadio_actionPerformed(ActionEvent e) {
    this.action = this.DELETE;
    params[0].setText("");
    contentPanel.removeAll();
    gridLayout2.setRows(1);
    JLabel label = new JLabel("请输入要删除的记录的" + (String) namesVector.elementAt(0) +
                              " :");
    contentPanel.add(label);
    contentPanel.add(params[0]);
    validate();
    pack();
    repaint();
  }

  void okButton_actionPerformed(ActionEvent e) {
//    for(int i = 0; i<params.length; i++){
//      System.out.println(params[i].getText().length());
//    }
    String sql = "";
    switch (action) {
      case 0: //insert data
        sql = "insert into " + Type.SILOTABLE + "  values(";

//        for(int i = 0; i<namesVector.size(); i++){
//          sql += params[i].getText()+",";
//        }
        for (int i = 0; i < namesVector.size() - 1; i++) {
          if (i == 1) {
            sql += "'" + params[i].getText() + "',";
          }
          else if (i == 0) {
            sql += getNextId() + ",";
          }
          else {
            sql += params[i].getText() + ",";
          }
        }

        sql = insertDate(sql);

//        Calendar ca = Calendar.getInstance();
//        Date date = new Date(ca.getTime().getTime());
//        sql += "'"+date+ "',";
//        int len = sql.length();
//        sql = sql.substring(0, len - 1);
//        sql += ")";
//        System.out.println(sql);
        break;
      case 1: //update data
        sql = "update " + Type.SILOTABLE + "  set ";
        for (int i = 0; i < params.length; i++) {
          if (i == 0) {
            if (params[i].getText() == null ||
                params[i].getText().length() <= 0)
              JOptionPane.showMessageDialog(this,
                                            "请输入要修改的项目的名称,其中序号必须输入,其它的可以为空!");
          }
          else
          if (params[i].getText() != null && params[i].getText().length() > 0) {
            if (i == 1) {
              sql += " " + namesVector.elementAt(i) + "='" + params[i].getText() +
                  "',";
            }
            else {
              sql += " " + namesVector.elementAt(i) + "=" + params[i].getText() +
                  ",";
            }
          }
        }
        int len1 = sql.length();
        sql = sql.substring(0, len1 - 1);
        sql += " where 序号 like '" + params[0].getText() + "'";

//        if(sql == "update "+Type.SILOTABLE+"set "){
//          JOptionPane.showMessageDialog(this,"请输入要修改的项目的名称,其中序号必须输入,其它的可以为空!");
//        }
        System.out.println(sql);
        break;
      case 2: //delete data
        if (params[0].getText() != null && params[0].getText().length() > 0)
          sql = "delete from " + Type.SILOTABLE + " where 序号 like '" +
              params[0].getText() + "'";
        else {
          JOptionPane.showMessageDialog(this, "请输入要修改的项目的序号!");
          return;
        }
        System.out.println(sql);
        int option = JOptionPane.showConfirmDialog(this, "你确定要删除所选的记录吗",
            "确认对话框", JOptionPane.YES_NO_OPTION);

//        JOptionPane.showConfirmDialog()
        if (option == JOptionPane.NO_OPTION) {
          sql = null;
        }
    }
// 添加修改数据库的代码,进行实际的数据库修改
    try {
      if (!this.insertRadio.isSelected() && !this.updateRadio.isSelected() &&
          !this.deleteRadio.isSelected()) {
        JOptionPane.showMessageDialog(this, "请选择要进行的操作,否则无法更新数据库!!!");
        return;
      }
      if (this.action == this.DELETE || this.action == this.UPDATE) {
        if (checkExist(params[0].getText())) {
          Statement sta = con.createStatement();
          int changedRows = sta.executeUpdate(sql);
          updateView();
          JOptionPane.showMessageDialog(this, "数据库已经成功更新!");
        }
        else {
          JOptionPane.showMessageDialog(this, "您要修改的记录不存在,请确认正误再次输入!!!");
        }
      }
      else {
        Statement sta = con.createStatement();
        int changedRows = sta.executeUpdate(sql);
        updateView();
        JOptionPane.showMessageDialog(this, "数据库已经成功更新!");

      }
    }
    catch (SQLException ex) {
      System.err.println(ex.toString());
      JOptionPane.showMessageDialog(this, "数据库更新失败,请检查输入是否正确!");
    }
  }

  /**
   * 向siloTable中自动添加插入时间,该时间从系统获得
   * @param sql String
   * @return String
   */
  private String insertDate(String sql) {
    Calendar ca = Calendar.getInstance();
    Date date = new Date(ca.getTime().getTime());
    sql += "'" + date + "',";
    int len = sql.length();
    sql = sql.substring(0, len - 1);
    sql += ")";
    System.out.println(sql);
    return sql;
  }

  /**
   * 刷新数据表格的显示,使显示保持最新
   */
  private void updateView() {
    try {
      Statement sta = con.createStatement();
      ResultSet set = sta.executeQuery("select * from " + Type.SILOTABLE);
      ResultSetMetaData meta = set.getMetaData();
      int colCount = meta.getColumnCount();
//    parentPanel.tablePanel.tbModel = new DefaultTableModel();
      int rowCount = parentPanel.tablePanel.tbModel.getRowCount();
//      System.out.print(rowCount);
      for (int i = 0; i < rowCount; i++) {
        parentPanel.tablePanel.tbModel.removeRow(0);
      }
      Vector colNames = new Vector();
      Vector row;
      for (int i = 1; i <= colCount; i++) {
        colNames.add(meta.getColumnLabel(i));
      }
      parentPanel.tablePanel.tbModel.setColumnIdentifiers(colNames);
      while (set.next()) {
        row = new Vector();
        for (int i = 1; i <= colCount; i++) {
          String temp = set.getString(i);
          if (temp.indexOf(" ") >= 0) {
            temp = temp.substring(0, temp.indexOf(" "));
          }
//          if(i == 3 || i == 4){//单价和数量取两位小数
          if (i == 4) {
            temp = temp.substring(0, temp.length() - 2);
          }
          row.add(temp);
//          System.out.print(set.getString(i)+"   ");
        }
//        System.out.println();
        parentPanel.tablePanel.tbModel.addRow(row);

      }
    }
    catch (Exception ex) {
    }
  }

  /**
   *从数据库中得到SiloTable表的下一个序号值
   */
  private long getNextId() {
    String nextId = "";
    long longId = 0;
    try {
      Statement sta = con.createStatement();
      ResultSet set = sta.executeQuery("select nextid from " + Type.SILOIDTABLE);
      set.next();
      nextId = set.getString(1);
      set.close();
      sta.close();
      longId = Long.valueOf(nextId).longValue();
//      longId++;
      if (longId == Long.MAX_VALUE) {
        longId = 10000;
      }
      sta = con.createStatement();
      set = sta.executeQuery("select * from " + Type.SILOTABLE + " where 序号=" +
                             longId);
      while (set.next()) {
        longId++;
        set.close();
        sta.close();
        sta = con.createStatement();
        set = sta.executeQuery("select * from " + Type.SILOTABLE + " where 序号=" +
                               longId);
      }
      if (set != null) {
        set.close();
        set = null;
      }
      if (sta != null) {
        sta.close();
        sta = null;
      }
//      longId++;
      sta = con.createStatement();
      int col = sta.executeUpdate("update " + Type.SILOIDTABLE + " set nextId=" +
                                  longId); //10001);
      System.out.print(col);
    }
    catch (SQLException e) {
      System.err.println(e.toString());
    }
//    return nextId;
    return longId;
  }

  private boolean checkExist(String id) {
    Statement sta = null;
    ResultSet set = null;
    try {
      sta = con.createStatement();
      set = sta.executeQuery("select * from " + Type.SILOTABLE +
                             " where 序号=" + id);
      boolean result = set.next();
      set.close();
      sta.close();
      return result;
    }
    catch (SQLException ex) {
      System.err.println(ex.toString());
      return false;
    }
  }
}

⌨️ 快捷键说明

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