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

📄 productupdatedialog.java

📁 是适合于使用的管理系统 可以在现实中使用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//      if(((String)namesVector.elementAt(i)).indexOf("时间") <= 0 ){
        JLabel label = new JLabel( (String) namesVector.elementAt(i) + " :");
        contentPanel.add(label);
        contentPanel.add(params[i]);
      }
    }
    pack();
    validate();
    repaint();
  }

  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.PRODUCTTABLE + "  values(";

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

        sql = insertDate(sql);

        break;
      case 1: //update data
        sql = "update " + Type.PRODUCTTABLE + "  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 || i ==2) {
              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.PRODUCTTABLE + " 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, "数据库更新失败,请检查输入是否正确!");
    }
  }

  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.PRODUCTTABLE);
      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 == 5) {
            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.PRODUCTIDTABLE);
      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.PRODUCTTABLE + " where 序号=" +
                             longId);
      while (set.next()) {
        longId++;
        set.close();
        sta.close();
        sta = con.createStatement();
        set = sta.executeQuery("select * from " + Type.PRODUCTTABLE + " 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.PRODUCTIDTABLE + " 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.PRODUCTTABLE +
                             " 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 + -