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

📄 editstu.java~41~

📁 java语言写的
💻 JAVA~41~
字号:
package scoremis;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.AbstractTableModel;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2007</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class editSTU
    extends JPanel {
  public editSTU() {
    try {
      jbInit();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }

  private void jbInit() throws Exception {
    this.setLayout(null);
    jLabel1.setFont(new java.awt.Font("Dialog", 1, 22));
    bj.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        sgreade.removeAllItems();
        if (bj.isSelected()) {
          try {
            dbconn db = new dbconn();
            ResultSet rs = db.Query("select distinct greade from student");
            sgreade.addItem("  ");
            while (rs.next()) {
              sgreade.addItem(rs.getString(1));
            }
          }
          catch (Exception er) {
            System.out.println(er.toString());
          }
        }
      }
    });
    jScrollPane1.setFont(new java.awt.Font("Dialog", 0, 12));
    jScrollPane1.setBounds(new Rectangle(21, 175, 370, 161)); //设置各组件的位置
    jLabel1.setBounds(new Rectangle(130, 13, 225, 36));
    bj.setFont(new java.awt.Font("Dialog", 0, 12));
    bj.setBounds(new Rectangle(54, 74, 65, 27));
    sgreade.setFont(new java.awt.Font("Dialog", 0, 12));
    sgreade.setBounds(new Rectangle(107, 75, 116, 23));
    del.setBounds(new Rectangle(304, 123, 66, 27));
    del.setFont(new java.awt.Font("Dialog", 0, 12));
    edit.setBounds(new Rectangle(192, 124, 68, 27));
    edit.setFont(new java.awt.Font("Dialog", 0, 12));
    query.setBounds(new Rectangle(63, 125, 73, 27));
    query.setFont(new java.awt.Font("Dialog", 0, 12));
    model.addColumn("学号");
    model.addColumn("姓名");
    model.addColumn("性别");
    model.addColumn("出生年月");
    model.addColumn("所在班级");
    dbtable.addMouseListener(new MouseAdapter() { //给表格添加监视器
      public void mouseClicked(MouseEvent e) {
        int j = dbtable.getSelectedRow();
        xh1 = (String) model.getValueAt(j, 0);
        xm1 = (String) model.getValueAt(j, 1);
        xb1 = (String) model.getValueAt(j, 2);
        sr1 = (java.sql.Date) model.getValueAt(j, 3);
        bj1 = (String) model.getValueAt(j, 4);
        del.setEnabled(true);
        edit.setEnabled(true);
      }
    });
    xm.setFont(new java.awt.Font("Dialog", 0, 12));
    xm.setBounds(new Rectangle(245, 75, 61, 23));
    sname.setFont(new java.awt.Font("Dialog", 0, 12));
    sname.setText("");
    sname.setBounds(new Rectangle(303, 73, 91, 26));//添加各组件
    this.add(sgreade);
    this.add(bj);
    this.add(xm);
    this.add(sname);
    this.add(jScrollPane1);
    this.add(query);
    this.add(del);
    this.add(edit);
    this.add(jLabel1);
    query.addActionListener(new Handel()); //给各组件添加事件监视器
    edit.addActionListener(new Handel());
    del.addActionListener(new Handel());
    del.setEnabled(false);
    edit.setEnabled(false);
  }

  class Handel implements ActionListener { //事件处理器
    public void actionPerformed(ActionEvent e) {
      dbconn db = new dbconn();
      if (e.getSource() == edit) { //对“修改”事件进行处理
        Toolkit tk = Toolkit.getDefaultToolkit();
        Dimension sSize = tk.getScreenSize();
        int sh = sSize.height;
        int sw = sSize.width;
        StudentQuery sq = new StudentQuery(xm1, xh1, xb1, sr1, bj1, "teacher");
        sq.setTitle("修改学生信息");
        sq.setSize(sh / 2 + 100, sw / 2);
        sq.setLocation(sh / 4, sw / 4);
        sq.setVisible(true);
      }
      if (e.getSource() == del) { //对“删除”事件进行处理
        int y = JOptionPane.showConfirmDialog(null, "你确定要删除吗?", "删除学生对话框",
                                              JOptionPane.YES_NO_OPTION,
                                              JOptionPane.INFORMATION_MESSAGE);
        String sql = "delete * from student where ID='" + xh1 + "' and name='" +
            xm1 + "' and sex='" + xb1 + "' and birthday=#" + sr1 +
            "# and greade='" + bj1 + "'";
        if (y == 0) {
          int i = db.Update(sql); // 执行删除SQL语句
          if (i > 0) {
            JOptionPane.showMessageDialog(null, "删除成功 !!");
            query.doClick();
          }
          else {
            JOptionPane.showMessageDialog(null, "删除失败!!");
          }
        }
      }
      else { //处理“查询”事件
        String sbj, sxm;
        String sql = "select * from student";
        if (xm.isSelected() && bj.isSelected()) { //构建相应的SQL语句
          sxm = sname.getText();
          sql = "select * from student where greade='" +
              (String) sgreade.getSelectedItem() + "' and name='" + sxm + "'";
        }
        else if (bj.isSelected()) {
          sbj = (String) sgreade.getSelectedItem();
          sql = "select * from student where greade='" + sbj + "'";
        }
        else if (xm.isSelected()) {
          sql = "select * from student where name='" + (String) sname.getText() +
              "'";
        }
        int j = model.getRowCount(); //首先删除表格原有数据
        if (j > 0) {
          for (int i = 0; i < j; i++) {
            model.removeRow(0);
          }
        }
        dbtable.setVisible(true);
        try {
          ResultSet rs = db.Query(sql); //执行查询SQL语句
          while (rs.next()) {
            tempvector = new Vector(1, 1);
            tempvector.add(rs.getString(1));
            tempvector.add(rs.getString(2));
            tempvector.add(rs.getString(3));
            tempvector.add(rs.getDate(4));
            tempvector.add(rs.getString(5));
            model.addRow(tempvector); //将查询结果添加到表格中
          }
        }
        catch (Exception ex) {
          System.out.println(ex.toString());
        }
      }
    }
  }

  JLabel jLabel1 = new JLabel("学生基本信息管理"); //初始化各组件
  JComboBox sgreade = new JComboBox();
  JCheckBox bj = new JCheckBox("班级:");
  JCheckBox xm = new JCheckBox("姓名");
  JButton query = new JButton("查询:");
  JButton del = new JButton("删除");
  JButton edit = new JButton("修改");
  Vector tempvector = new Vector(1, 1);
  DefaultTableModel model = new DefaultTableModel();
  JTable dbtable = new JTable(model);
  JScrollPane jScrollPane1 = new JScrollPane(dbtable);
  JTextField sname = new JTextField();
  String xh1, xm1, xb1, bj1;
  java.sql.Date sr1;

  void quit_actionPerformed(ActionEvent e) {
    setVisible(false);
    System.exit(0);
  }
}

⌨️ 快捷键说明

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