Example : A Multiple Fields Report code in Java.

NB: Take a jInternal frame - take single 'ScrollPane'(jScrollPane1) carefully from palette and drag over jInternal frame and resize it - take 'jTable' (jTable1) and finally drag into/over ScrollPane - take other required controls as above design.
-------------------------------------  X  -----------------------------------

import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class FrmMultiUserReport extends javax.swing.JFrame 
{
    Connection conn;
    PreparedStatement pst;
    ResultSet rs;
    
   
    public FrmMultiUserReport() 
    {
        initComponents();
        
        connect();
        showCurrentDate();
        loadReport();
    }


    public void connect() 
    {
        try 
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");

            conn = DriverManager.getConnection(
                    "jdbc:oracle:thin:@localhost:1521:orcl",
                    "system",
                    "raj"
            );
        } 
        catch (Exception e) 
        {
            JOptionPane.showMessageDialog(this, "Connection Error: " + e);
        }
    }

    

    public void showCurrentDate() 
    {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        TxtReportDate.setText(sdf.format(new Date()));
        TxtReportDate.setEditable(false);
    }
     

    public void loadReport() 
    {
        try 
        {
            String sql = "SELECT SLNO5, UNAME5, ADDR5, "
                    + "TO_CHAR(DOB5, 'DD-MM-YYYY') AS DOB5, "
                    + "MOBNO5, GEN5, MAT5, INTER5, GRAD5, PGRAD5, "
                    + "NONMAT5, OTHER5, NAT5 "
                    + "FROM UREG ORDER BY SLNO5";


                pst = conn.prepareStatement(sql);
                rs = pst.executeQuery();

                if(rs.isBeforeFirst())
                {
                    fillTable(rs);
                }
                else
                {
                    clearTable();

                    JOptionPane.showMessageDialog(
                        this,
                        "No Record Found For Selected Fields",
                        "Search Result",
                        JOptionPane.WARNING_MESSAGE
                    );
                }


        } 
        catch (Exception e) 
        {
            JOptionPane.showMessageDialog(this, "Report Error: " + e);
        }
    }

    
    
    public void fillTable(ResultSet rs) 
    {
        try 
        {
            DefaultTableModel model = new DefaultTableModel();

            model.addColumn("Sl No");
            model.addColumn("User Name");
            model.addColumn("Address");
            model.addColumn("DOB");
            model.addColumn("Mobile");
            model.addColumn("Gender");
            model.addColumn("Matric");
            model.addColumn("Inter");
            model.addColumn("Graduate");
            model.addColumn("P. Graduate");
            model.addColumn("Non Matric");
            model.addColumn("Other");
            model.addColumn("Nationality");

            while (rs.next()) 
            {
                model.addRow(new Object[]{
                    rs.getInt("SLNO5"),
                    rs.getString("UNAME5"),
                    rs.getString("ADDR5"),
                    rs.getString("DOB5"),
                    rs.getString("MOBNO5"),
                    rs.getString("GEN5"),
                    rs.getString("MAT5"),
                    rs.getString("INTER5"),
                    rs.getString("GRAD5"),
                    rs.getString("PGRAD5"),
                    rs.getString("NONMAT5"),
                    rs.getString("OTHER5"),
                    rs.getString("NAT5")
                });
            }

            jTable1.setModel(model);
            formatTable();

        } 
        catch (Exception e) 
        {
            JOptionPane.showMessageDialog(this, "Table Error: " + e);
        }
    }

    

    public void formatTable() 
    {
        jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

        jScrollPane1.setHorizontalScrollBarPolicy(
                JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

        jScrollPane1.setVerticalScrollBarPolicy(
                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

        jTable1.getColumnModel().getColumn(0).setPreferredWidth(60);
        jTable1.getColumnModel().getColumn(1).setPreferredWidth(150);
        jTable1.getColumnModel().getColumn(2).setPreferredWidth(250);
        jTable1.getColumnModel().getColumn(3).setPreferredWidth(100);
        jTable1.getColumnModel().getColumn(4).setPreferredWidth(120);
        jTable1.getColumnModel().getColumn(5).setPreferredWidth(80);
        jTable1.getColumnModel().getColumn(6).setPreferredWidth(80);
        jTable1.getColumnModel().getColumn(7).setPreferredWidth(80);
        jTable1.getColumnModel().getColumn(8).setPreferredWidth(100);
        jTable1.getColumnModel().getColumn(9).setPreferredWidth(120);
        jTable1.getColumnModel().getColumn(10).setPreferredWidth(100);
        jTable1.getColumnModel().getColumn(11).setPreferredWidth(100);
        jTable1.getColumnModel().getColumn(12).setPreferredWidth(120);
    }
    

    public void searchReport() 
    {

       /*  if(!TxtFromDate.getText().trim().equals("") && TxtToDate.getText().trim().equals(""))
        {
            JOptionPane.showMessageDialog(this,
                "Please Enter To Date");
            TxtToDate.requestFocus();
            return;
        }

        if(TxtFromDate.getText().trim().equals("") && !TxtToDate.getText().trim().equals(""))
        {
            JOptionPane.showMessageDialog(this,
                "Please Enter From Date");
            TxtFromDate.requestFocus();
            return;
        }  */       
        
        
        try 
        {
            String slno = TxtSlno.getText().trim();
            String name = TxtUName.getText().trim();
            String mobile = TxtMobileNo.getText().trim();
            String gender = CmbGender.getSelectedItem().toString();

            String fromDate = TxtFromDate.getText().trim();
            String toDate = TxtToDate.getText().trim();

            String sql = "SELECT SLNO5, UNAME5, ADDR5, "
                    + "TO_CHAR(DOB5, 'DD-MM-YYYY') AS DOB5, "
                    + "MOBNO5, GEN5, MAT5, INTER5, GRAD5, PGRAD5, "
                    + "NONMAT5, OTHER5, NAT5 "
                    + "FROM UREG WHERE 1=1 ";

            if (!slno.equals("")) 
            {
                sql += " AND SLNO5 = " + Integer.parseInt(slno);
            }

            if (!name.equals("")) 
            {
                sql += " AND UPPER(UNAME5) LIKE UPPER('%" + name + "%')";
            }

            if (!mobile.equals("")) 
            {
                sql += " AND MOBNO5 LIKE '%" + mobile + "%'";
            }

            if (!gender.equals("All")) 
            {
                sql += " AND GEN5 = '" + gender + "'";
            }

            if (!fromDate.equals("") && !toDate.equals("")) 
            {
                sql += " AND DOB5 BETWEEN TO_DATE('" + fromDate + "', 'DD-MM-YYYY') "
                     + " AND TO_DATE('" + toDate + "', 'DD-MM-YYYY')";
            }

            sql += " ORDER BY SLNO5";

            pst = conn.prepareStatement(
                sql,
                ResultSet.TYPE_SCROLL_INSENSITIVE,
                ResultSet.CONCUR_READ_ONLY
            );

            rs = pst.executeQuery();

            if (rs.next()) 
            {
                rs.beforeFirst();
                fillTable(rs);
            } 
            else 
            {
                clearTable();

                JOptionPane.showMessageDialog(
                    this,
                    "No Record Found For Selected Fields",
                    "Search Result",
                    JOptionPane.WARNING_MESSAGE
                );
            }
        }
        
        catch (Exception e) 
        {
        JOptionPane.showMessageDialog(this, "Search Error: " + e);
        }
    }

    
    
    public void clearTable()
    {
        DefaultTableModel model = new DefaultTableModel();

        model.addColumn("Sl No");
        model.addColumn("User Name");
        model.addColumn("Address");
        model.addColumn("DOB");
        model.addColumn("Mobile");
        model.addColumn("Gender");
        model.addColumn("Matric");
        model.addColumn("Inter");
        model.addColumn("Graduate");
        model.addColumn("P. Graduate");
        model.addColumn("Non Matric");
        model.addColumn("Other");
        model.addColumn("Nationality");

        jTable1.setModel(model);
    }

    

    public void printReport() 
    {
        try 
        {
            boolean complete = jTable1.print();

            if (complete) 
            {
                JOptionPane.showMessageDialog(this, "Printing Complete");
            } 
            else 
            {
                JOptionPane.showMessageDialog(this, "Printing Cancelled");
            }

        } 
        catch (Exception e) 
        {
            JOptionPane.showMessageDialog(this, "Print Error: " + e);
        }
    }

    
    
    @SuppressWarnings("unchecked")
    ---
                      

    private void BtnSearchActionPerformed(java.awt.event.ActionEvent evt) {                                          
        
        searchReport();
    }
                                         

    private void BtnShowAllActionPerformed(java.awt.event.ActionEvent evt) {                                           
        
        TxtSlno.setText("");
        TxtUName.setText("");
        TxtMobileNo.setText("");
        TxtFromDate.setText("");
        TxtToDate.setText("");
        CmbGender.setSelectedIndex(0);

        loadReport();
    }
                                          

    private void BtnPrintActionPerformed(java.awt.event.ActionEvent evt) {                                         
       printReport();
    }
                                        

    private void BtnCloseActionPerformed(java.awt.event.ActionEvent evt) {                                         
                dispose();
    }
                                        

    
    public static void main(String args[]) {
        
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new FrmMultiUserReport().setVisible(true);
            }
        });
    }


    // Variables declaration - do not modify                     
    private javax.swing.JButton BtnClose;
    private javax.swing.JButton BtnPrint;
    private javax.swing.JButton BtnSearch;
    private javax.swing.JButton BtnShowAll;
    private javax.swing.JComboBox<String> CmbGender;
    private javax.swing.JTextField TxtFromDate;
    private javax.swing.JTextField TxtMobileNo;
    private javax.swing.JTextField TxtReportDate;
    private javax.swing.JTextField TxtSlno;
    private javax.swing.JTextField TxtToDate;
    private javax.swing.JTextField TxtUName;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    // End of variables declaration                   
}

Loading

Categories: Java Project

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.