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

📄 infoframe.java

📁 学生信息管理系统,实现学生信息的录入、查询、修改、删除等功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package studentmanagement;
//信息显示窗口
import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.awt.event.*;
import java.sql.*;
import java.io.*;
import sun.jdbc.odbc.JdbcOdbcDriver;
import java.util.*;
import java.awt.Font;

public class infoFrame extends JFrame {

    XYLayout layoutM = new XYLayout();//布局
    JTextField searchT = new JTextField();//输入框
    //按钮
    JButton changeB = new JButton();
    JButton newB = new JButton();
    JButton searchB = new JButton();
    JButton freshB = new JButton();
    JButton exitB = new JButton();
    JButton delB = new JButton();

    JScrollPane infoScrollPane = new JScrollPane();//带滚动条的JFrame容器
    JLabel topwords = new JLabel();
    JLabel infobg = new JLabel();
    JList infolist = new JList();//JFrame
    Vector vec = new Vector();//向量用来存储数据

    public infoFrame() {
        try {
            jbInit();

        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }
//-----------------------------界面继承JFrame--------------------------
    private void jbInit() throws Exception {
        getContentPane().setLayout(layoutM);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setTitle("学生记录信息显示");
        ImageIcon infoImage=new ImageIcon("src/info.jpg");
        layoutM.setWidth(640);
        layoutM.setHeight(480);
        searchB.setFont(new java.awt.Font("宋体", Font.PLAIN, 14));
        searchB.setText("搜 索!");
        searchB.addMouseListener(new infoFrame_searchB_mouseAdapter(this));
        infoScrollPane.setForeground(new Color(33, 14, 0));
        topwords.setForeground(new Color(234, 255, 255));
        topwords.setToolTipText("");
        newB.setFont(new java.awt.Font("宋体", Font.PLAIN, 14));
        newB.addMouseListener(new infoFrame_newB_mouseAdapter(this));
        freshB.setText("刷新");
        freshB.addMouseListener(new infoFrame_freshB_mouseAdapter(this));
        exitB.setFont(new java.awt.Font("宋体", Font.PLAIN, 14));
        exitB.setText("关  闭");
        exitB.addMouseListener(new infoFame_exitB_mouseAdapter(this));
        infolist.setToolTipText("");
        infolist.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        infolist.setVisibleRowCount(5);
        infobg.setIcon(infoImage);
        changeB.setText("修改");
        changeB.addMouseListener(new infoFrame_changeB_mouseAdapter(this));
        searchT.setToolTipText("");
        searchT.setText("输入搜索关键字");
        delB.setText("删除");
        delB.addMouseListener(new infoFrame_delB_mouseAdapter(this));
        topwords.setText("记录按[学号,姓名,性别,地址,电话]的方式显示:");
        topwords.setFont(new java.awt.Font("宋体", Font.BOLD, 15));
        infoScrollPane.getViewport().add(infolist);
        this.getContentPane().add(infoScrollPane,
                                  new XYConstraints(23, 61, 534, 314));
        this.getContentPane().add(freshB, new XYConstraints(566, 73, 62, 26));
        this.getContentPane().add(topwords, new XYConstraints(24, 26, 375, 26));
        newB.setText("录入新记录");
        this.getContentPane().add(changeB, new XYConstraints(566, 125, 62, 26));
        this.getContentPane().add(searchT,
                                  new XYConstraints(166, 406, 160, 26));
        this.getContentPane().add(searchB, new XYConstraints(336, 406, 112, 26));
        this.getContentPane().add(newB, new XYConstraints(33, 407, 106, 26));
        this.getContentPane().add(exitB, new XYConstraints(485, 406, 112, 26));
        this.getContentPane().add(delB, new XYConstraints(566, 176, 62, 26));
        this.getContentPane().add(infobg, new XYConstraints(0, 0, 640, 375));
        this.setBounds(170, 120, 640, 480);
        prepare_connect();
    }
    //------------------------------从数据库读取--------------------------------
    static String madguy =
            "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=";
    Connection con;

    String name_,num_,addr_,tel_,sex_;

    public void prepare_connect() throws Error {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            DriverManager.registerDriver(new JdbcOdbcDriver());
            con = DriverManager.getConnection(madguy + "src/data.mdb");
            con.setAutoCommit(true);

            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("select  * from students");

            vec.removeAllElements();

            while (rs.next()) {
            Vector record = new Vector();
              record.addElement(rs.getString("num"));
              record.addElement(rs.getString("name"));
               record.addElement(rs.getString("sex"));
                record.addElement(rs.getString("addr"));
               record.addElement(rs.getString("tel"));
               vec.addElement(record);
            }
            infolist.setListData(vec);
            rs.close();
            stmt.close();

        } catch (ClassNotFoundException e) {

        } catch (SQLException e) {
            System.out.println(e.getMessage() + "\t");
        }
    }
//-----------------------------------搜索函数-------------------------------------------
     public void search(String key){
         if(key.equals("")){
         ErrBox err=new ErrBox();
         err.errinfo.setText("搜索不能为空!");
         err.errinfoE.setText("Search Error");
         }
     searchname(key);
     searchnum(key);
     searchsex(key);
     searchaddr(key);
     searchtel(key);
     if(vec.isEmpty()){
                vec.addElement("数据库中未找到相关数据");
                }
     }
//-----------------------------------修改函数---------------------------------------
  public void edit(String number) throws Error {
try {

           con = DriverManager.getConnection(madguy + "src/data.mdb");
           con.setAutoCommit(true);
            String numSQL = "SELECT * FROM students WHERE num=?";
            PreparedStatement pstmt = con.prepareStatement("" + numSQL);
            pstmt.setString(1, number);
            ResultSet rs = pstmt.executeQuery();

               while(rs.next()) {//获得修改的源属性值,保存
                num_=rs.getString("num");
                name_=rs.getString("name");
                addr_=rs.getString("addr");
                tel_=rs.getString("tel");
            }
                  rs.close();
                  pstmt.close();
                  con.close();
                  //从数据库删除源信息
                  useData kill = new Data(new File("src/data.mdb"));
                   kill.delete(number);
                  //返回录入界面,修改后重新录入
                  regFrame change=new regFrame();
                  change.setTitle("修改记录窗口");
                  change.addT.setText(addr_);
                  change.name.setText(name_);
                  change.numT.setText(num_);
                  change.telT.setText(tel_);
                  change.enter.setText("提交修改");
                  change.quit.setEnabled(false);
                  change.setVisible(true);
        } catch (Exception exception) {
            exception.printStackTrace();
        }

    }

//-----------------------------------搜索姓名----------------------------------------
    public void searchname(String key) throws Error {
try {
              con = DriverManager.getConnection(madguy + "src/data.mdb");
               con.setAutoCommit(true);
            String nameSQL = "SELECT * FROM students WHERE name=?";
            PreparedStatement pstmt = con.prepareStatement("" + nameSQL);
            pstmt.setString(1, key);
            ResultSet rs = pstmt.executeQuery();

               while(rs.next()) {
                Vector record = new Vector();
                record.addElement(rs.getString("num"));
                record.addElement(rs.getString("name"));
                record.addElement(rs.getString("sex"));
                record.addElement(rs.getString("addr"));
                record.addElement(rs.getString("tel"));
                vec.addElement(record);
            }
                 infolist.setListData(vec);
                  rs.close();
                  pstmt.close();
                  con.close();

        } catch (Exception exception) {
            exception.printStackTrace();
        }

    }
//---------------------------------搜索学号------------------------------------------
    public void searchnum(String key) throws Error {
    try {
                  con = DriverManager.getConnection(madguy + "src/data.mdb");
                   con.setAutoCommit(true);
                String numSQL = "SELECT * FROM students WHERE num=?";
                PreparedStatement pstmt = con.prepareStatement("" + numSQL);
                pstmt.setString(1, key);
                ResultSet rs = pstmt.executeQuery();

                   while(rs.next()) {
                    Vector record = new Vector();
                    record.addElement(rs.getString("num"));

⌨️ 快捷键说明

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