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

📄 test1.java~39~

📁 这是一个图书和学生信息的管理系统,它可以在数据库里面增加,修改,删除数据来管理图书和学生信息
💻 JAVA~39~
字号:
package test;


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

import com.zdsoft.gui.*; //引入本包中的类,因为我们要用到的ASTable类(表格)、ASPanel类(面板)、ASTableView类(图视)  都位于本包中
import com.zdsoft.datacenter.ASDatacenter; //引入本包中的类,因为我们要用到的ASDatacenter类(数据中心,
//用来连接相应数据库及执行各种数据库操作)位于本包中
import com.zdsoft.datastore.ASDatastore; //引入本包中的类,因为我们要用到的ASDatastore类(数据仓库)位于本包中
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class test1
    extends ASPanel { //声明创建的页面继承于ASPanel类,这样我们就能对本页面作可视化的设计,
  //并且能将本页面显示在系统的相应位置
  JPanel jPanel1 = new JPanel();
  JPanel jPanel2 = new JPanel();
  JPanel jPanel3 = new JPanel();
  JLabel jLabel1 = new JLabel();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  JButton jButton3 = new JButton();
  JScrollPane jScrollPane1 = new JScrollPane();
  ASTable jTable1; //注意:(1)定义一个ASTable类的引用,但不能用“new”运算符创建对象;

  ASDatastore ds; //定义ASDatastore类的一个引用,用来保存根据条件从数据库中查询出来的结果

  //这是本类定义的构造方法,在构造方法中调用了jbInit()方法;
  public test1() {
    try {
      jbInit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }

  //jbInit()是本页面的初始化方法,所有和页面初始化有关的操作都应该写在本方法中
  private void jbInit() throws Exception {

    //ASTable中显示相应表数据的步骤:

    //(1)创建数据中心对象
    ASDatacenter dc = new ASDatacenter();

    //(2)连接数据库
    dc.connect();

    //(3)构造查询语句
    String sql = "select * from stu_info";

    //(4)调用数据中心对象dc中的retrieve方法,执行查询,得到一个数据结果集(ASDatastore类的一个具体对象)。本数据结果集
    //中保存了根据查询条件得到的所有数据.
    ds = dc.retrieve(sql);

    //(5)构造表格的显示标题.
    String[] liab = new String[4];
    liab[0] = "学号";
    liab[1] = "姓名";
    liab[2] = "性别";
    liab[3] = "年龄";

    //(6)将表格标题设置到结果集。注意:设置表格标题时,字符串数组的长度与相应数据结果集的
    //列数应一样。否则程序运行时会报错.
    ds.setTitleLable(liab);

    //(7)用结果集构造视图
    ASTableView tv = new ASTableView(ds);

    //(8)用创建好的视图对象构造表格
    jTable1 = new ASTable(tv);

    //(9)关闭数据库连接
    dc.disconnect();

    jLabel1.setFont(new java.awt.Font("Serif", 0, 20));
    jLabel1.setText("学生信息维护");
    jButton1.setFont(new java.awt.Font("Serif", 0, 12));
    jButton1.setText("删除");
    jButton1.addActionListener(new test1_jButton1_actionAdapter(this));
    jButton2.setFont(new java.awt.Font("Serif", 0, 12));
    jButton2.setText("修改");
    jButton2.addActionListener(new test1_jButton2_actionAdapter(this));
    jButton3.setFont(new java.awt.Font("Serif", 0, 12));
    jButton3.setText("增加");
    jButton3.addActionListener(new test1_jButton3_actionAdapter(this));
    jScrollPane1.setPreferredSize(new Dimension(580, 330));
    this.setPreferredSize(new Dimension(600, 600));
    this.add(jPanel1, BorderLayout.CENTER);
    jPanel1.add(jScrollPane1, null);
    jScrollPane1.getViewport().add(jTable1, null);
    this.add(jPanel2, BorderLayout.SOUTH);
    jPanel2.add(jButton3, null);
    jPanel2.add(jButton2, null);
    jPanel2.add(jButton1, null);
    this.add(jPanel3, BorderLayout.NORTH);
    jPanel3.add(jLabel1, null);
  }

  void jButton3_actionPerformed(ActionEvent e) {
    mzxxadd md = new mzxxadd(this); //创建mzxxadd类的一个对象,即是创建一个可显示页面,并将本页面(是一个test1类的对象)
    //通过mzxxadd类定义的构造方法传给mzxxadd窗体.这样我们就能够在mzxxadd窗体中使用test1
    //页面中的各种成员变量和成员方法。
    md.show(); //将创建的页面对象显示出来
  }

  void jButton2_actionPerformed(ActionEvent e) {
    int row = jTable1.getSelectedRow();
    if (row == -1) {
      JOptionPane.showMessageDialog(this, "请选择要修改的数据!", "提示信息",
                                    JOptionPane.ERROR_MESSAGE);
    }
    else {
//      mzxxmod md = new mzxxmod(this);
//      md.show();
    }
  }

  void jButton1_actionPerformed(ActionEvent e) {
    ASDatacenter dc = null;
    int row = jTable1.getSelectedRow();
    if (row == -1) {
      JOptionPane.showMessageDialog(this, "请选择要删除的数据!", "提示信息",
                                    JOptionPane.ERROR_MESSAGE);
    }
    else {
//          mzxxmod md = new mzxxmod(this);
//         md.show();
      try {
        String i = ds.getItemString(row, "xh");
        String sql = "delete stu_info where xh='" + i + "'";
        dc = new ASDatacenter();
        dc.connect();
        String[] message = dc.update(sql);
        if (message[0].equals("true")) {
          ds.removeRow(row);
          jTable1.ASTableRepant();
        }
        else {
          JOptionPane.showMessageDialog(this, "删除数据失败!", "提示信息",
                                        JOptionPane.ERROR_MESSAGE);
        }
        dc.disconnect();
      }
      catch (Exception ex) {
        ex.printStackTrace();
      }
    }

  }

}

class test1_jButton3_actionAdapter
    implements java.awt.event.ActionListener {
  test1 adaptee;

  test1_jButton3_actionAdapter(test1 adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton3_actionPerformed(e);
  }
}

class test1_jButton2_actionAdapter
    implements java.awt.event.ActionListener {
  test1 adaptee;

  test1_jButton2_actionAdapter(test1 adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton2_actionPerformed(e);
  }
}

class test1_jButton1_actionAdapter
    implements java.awt.event.ActionListener {
  test1 adaptee;

  test1_jButton1_actionAdapter(test1 adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }
}

⌨️ 快捷键说明

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