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

📄 d_brclass.java

📁 图书管理系统
💻 JAVA
字号:
/*
 * D_brclass.java
 *
 * Created on 2007年6月24日, 上午8:06
 */

package 图书管理系统;
import javax.swing.*;
import java.sql.*;

public class D_brclass extends javax.swing.JFrame {
    
    /** Creates new form D_brclass */
    public D_brclass() {
        initComponents();
        con=connect.getcon();
        BG_R.add(RB_rID);
        BG_R.add(RB_brall);
        T_class.setEnabled(false);
        B_brstat.setEnabled(false);
        B_brcancel.setEnabled(false);
        this.setTitle("借阅记录统计");
        this.setBounds(300,250,500,400);
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
         try{
        PreparedStatement sql=con.prepareStatement("select distinct 读者编号,count(读者编号) from 借阅 group by 读者编号");
        rs = sql.executeQuery();
        sql=con.prepareStatement("select count(读者编号) from 借阅");
        ResultSet rs2=sql.executeQuery();
        rs2.next();
        String s2=rs2.getString(1);
        String[] rowline={"总计",s2};
        int rows=0,column=0;
        ResultSetMetaData reMeta;
        int i=0,j=0,n=0;
        reMeta=rs.getMetaData();        
        CustomTableModel model=null;
        model=new CustomTableModel(0,name.length,name,dataType);
        brtable.setModel(model);
                  int p=reMeta.getColumnCount();
                    column=p;
                    String[] row=new String[p]; 
                    while(rs.next())
                   { 
                        
                       for(j=0;j<p;j++)
                       {
                        row[j]=rs.getString(j+1);
                        }
                       model.insertRow(i,row);
                       i++;
                        }
                    model.insertRow(i,rowline);
                    brtable.repaint();
                    this.validate();   
        }
        catch(Exception ee)
         {
       JOptionPane.showMessageDialog(null,"数据库访问失败!");
 ee.printStackTrace();
    }
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
    private void initComponents() {
        BG_R = new javax.swing.ButtonGroup();
        RB_rID = new javax.swing.JRadioButton();
        RB_brall = new javax.swing.JRadioButton();
        T_class = new javax.swing.JTextField();
        B_brstat = new javax.swing.JButton();
        B_brcancel = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        brtable = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        RB_rID.setText("\u6309\u8bfb\u8005\u7f16\u53f7\u7edf\u8ba1");
        RB_rID.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        RB_rID.setMargin(new java.awt.Insets(0, 0, 0, 0));
        RB_rID.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                RB_rIDActionPerformed(evt);
            }
        });

        RB_brall.setText("\u7edf\u8ba1\u6240\u6709\u8bfb\u8005\u4fe1\u606f");
        RB_brall.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        RB_brall.setMargin(new java.awt.Insets(0, 0, 0, 0));
        RB_brall.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                RB_brallActionPerformed(evt);
            }
        });

        B_brstat.setText("\u7edf\u8ba1");
        B_brstat.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                B_brstatActionPerformed(evt);
            }
        });

        B_brcancel.setText("\u53d6\u6d88");
        B_brcancel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                B_brcancelActionPerformed(evt);
            }
        });

        brtable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(brtable);

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(53, 53, 53)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(RB_rID)
                    .add(RB_brall))
                .add(31, 31, 31)
                .add(T_class, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 77, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(85, 85, 85)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                    .add(B_brstat)
                    .add(B_brcancel))
                .addContainerGap(12, Short.MAX_VALUE))
            .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 428, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .addContainerGap(26, Short.MAX_VALUE)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(B_brstat)
                    .add(RB_rID)
                    .add(T_class, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(20, 20, 20)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(B_brcancel)
                    .add(RB_brall))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 302, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void B_brcancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_B_brcancelActionPerformed
// TODO 将在此处添加您的处理代码:
        this.setVisible(false);
    }//GEN-LAST:event_B_brcancelActionPerformed

    private void B_brstatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_B_brstatActionPerformed
// TODO 将在此处添加您的处理代码:
        try{
        PreparedStatement sql=con.prepareStatement("select 读者编号,count(读者编号) from 借阅 where 读者编号=? group by 读者编号");
        sql.setString(1,T_class.getText().trim());
        rs=sql.executeQuery();
        PaintTable paint=new PaintTable(rs,name,brtable,this,dataType);
        }
        catch(Exception ee)
         {
       JOptionPane.showMessageDialog(null,"数据库访问失败!");
 ee.printStackTrace();
    }
    }//GEN-LAST:event_B_brstatActionPerformed

    private void RB_brallActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_RB_brallActionPerformed
// TODO 将在此处添加您的处理代码:
        T_class.setEnabled(false);
        B_brstat.setEnabled(false);
        B_brcancel.setEnabled(false);
         try{
        PreparedStatement sql=con.prepareStatement("select distinct 读者编号,count(读者编号) from 借阅 group by 读者编号");
        rs = sql.executeQuery();
        sql=con.prepareStatement("select count(读者编号) from 借阅");
        ResultSet rs2=sql.executeQuery();
        rs2.next();
        String s2=rs2.getString(1);
        String[] rowline={"总计",s2};
        int rows=0,column=0;
        ResultSetMetaData reMeta;
        int i=0,j=0,n=0;
        reMeta=rs.getMetaData();        
        CustomTableModel model=null;
        model=new CustomTableModel(0,name.length,name,dataType);
        brtable.setModel(model);
                  int p=reMeta.getColumnCount();
                    column=p;
                    String[] row=new String[p]; 
                    while(rs.next())
                   { 
                        
                       for(j=0;j<p;j++)
                       {
                        row[j]=rs.getString(j+1);
                        }
                       model.insertRow(i,row);
                       i++;
                        }
                    model.insertRow(i,rowline);
                    brtable.repaint();
                    this.validate();   
        }
        catch(Exception ee)
         {
       JOptionPane.showMessageDialog(null,"数据库访问失败!");
 ee.printStackTrace();
    }
    }//GEN-LAST:event_RB_brallActionPerformed

    private void RB_rIDActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_RB_rIDActionPerformed
// TODO 将在此处添加您的处理代码:
        T_class.setEnabled(true);
        B_brstat.setEnabled(true);
        B_brcancel.setEnabled(true);
    }//GEN-LAST:event_RB_rIDActionPerformed
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new D_brclass().setVisible(true);
            }
        });
    }
    
    // 变量声明 - 不进行修改//GEN-BEGIN:variables
    private javax.swing.ButtonGroup BG_R;
    private javax.swing.JButton B_brcancel;
    private javax.swing.JButton B_brstat;
    private javax.swing.JRadioButton RB_brall;
    private javax.swing.JRadioButton RB_rID;
    private javax.swing.JTextField T_class;
    private javax.swing.JTable brtable;
    private javax.swing.JScrollPane jScrollPane1;
    // 变量声明结束//GEN-END:variables
    private Connection con;
    private Statement stmt;
   private String[] name={"读者编号","记录数"};
   private String sql;
   private Class[] dataType={String.class,String.class};
   private ResultSet rs;
}

⌨️ 快捷键说明

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