Why do I keep on getting an exception-illegal operation on ResultSet?
- by eli1987
Here is the code-admittedly I'm terrible at Java, but surely I catch a null result set with the if....else statement....sorry its the whole Class:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/*
 * SearchParts.java
 *
 * Created on 08-Mar-2010, 12:14:31
 */
package garits;
import java.sql.*;
import javax.swing.*;
/**
 *
 * @author Deniz
 */
public class SearchParts extends javax.swing.JFrame {
        /** Creates new form SearchParts */
        public SearchParts() {
                initComponents();
        }
        /** 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.
         */
        @SuppressWarnings("unchecked")
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
                if (!jTextField1.getText().equals("")) {
                        String result = "";
                        int Partnumber = Integer.parseInt(jTextField1.getText());
                        DB db = new DB();
                        try {
                                db.connect();
                                String query = "Select * from Stock Where Part_no =" + "'" + jTextField1.getText() + "'";
                                ResultSet rs = db.execSQL(query);
                                if (rs.equals(null)) {
                                        PartNotFound nf = new PartNotFound();
                                        nf.setVisible(true);
                                } else {
                                        ResultSetMetaData rsmd = rs.getMetaData();
                                        int numberOfColumns = rsmd.getColumnCount();
                                        int RowCount = 0;
                                        for (int i = 1; i < numberOfColumns; i++) {
                                                rs.getString(i);
                                                result += i + "/n";
                                        }
                                        if (!result.equals("")) {
                                                Receptionist_FranchiseePartFound part = new Receptionist_FranchiseePartFound();
                                                part.setVisible(true);
                                                while (rs.next()) {
                                                        RowCount++;
                                                }
                                                part.getTable().addRowSelectionInterval(0, RowCount);
                                        } else {
                                                PartNotFound nf = new PartNotFound();
                                        }
                                }
                        } catch (Exception e) {
                                e.printStackTrace();
                                JOptionPane.showMessageDialog(jButton1, "More information needed for search", "Error Message", JOptionPane.ERROR_MESSAGE);
                        }
                } else if (!jTextField2.getText().equals("")) {
                        String result = "";
                        DB db = new DB();
                        try {
                                db.connect();
                                String query = "Select * from Stock Where Part_name =" + "'" + jTextField2.getText() + "'";
                                ResultSet rs = db.execSQL(query);
                                if (rs.equals(null)) {
                                        PartNotFound nf = new PartNotFound();
                                        nf.setVisible(true);
                                } else {
                                        ResultSetMetaData rsmd = rs.getMetaData();
                                        int numberOfColumns = rsmd.getColumnCount();
                                        int RowCount = 0;
                                        for (int i = 1; i < numberOfColumns; i++) {
                                                rs.getString(i);
                                                result += i + "/n";
                                        }
                                        // Receptionist_FranchiseePartFound part = new Receptionist_FranchiseePartFound();
                                        // part.setVisible(true);
                                        if (!result.equals("")) {
                                                Receptionist_FranchiseePartFound part = new Receptionist_FranchiseePartFound();
                                                part.setVisible(true);
                                                while (rs.next()) {
                                                        RowCount++;
                                                }
                                                part.getTable().addRowSelectionInterval(0, RowCount);
                                        } else {
                                                PartNotFound nf = new PartNotFound();
                                                nf.setVisible(true);
                                        }
                                }
                        } catch (Exception e) {
                                e.printStackTrace();
                                JOptionPane.showMessageDialog(jButton1, "More information needed for search", "Error Message", JOptionPane.ERROR_MESSAGE);
                        }
                } else if (jTextField1.getText().equals("") && jTextField2.getText().equals("")) {
                        String result = "";
                        DB db = new DB();
                        try {
                                db.connect();
                                String query = "Select * from Stock Where Manufacturer =" + "'" + jTextField3.getText() + "'AND Vehicle_type ='" + jTextField4.getText() + "'";
                                ResultSet rs = db.execSQL(query);
                                if (rs.equals(null)) {
                                        PartNotFound nf = new PartNotFound();
                                        nf.setVisible(true);
                                }
                                else{
                                ResultSetMetaData rsmd = rs.getMetaData();
                                int numberOfColumns = rsmd.getColumnCount();
                                int RowCount = 0;
                                for (int i = 1; i < numberOfColumns; i++) {
                                        rs.getString(i);
                                        result += i + "/n";
                                }
                                // Receptionist_FranchiseePartFound part = new Receptionist_FranchiseePartFound();
                                // part.setVisible(true);
                                if (!result.equals("")) {
                                        Receptionist_FranchiseePartFound part = new Receptionist_FranchiseePartFound();
                                        part.setVisible(true);
                                        while (rs.next()) {
                                                RowCount++;
                                        }
                                        part.getTable().addRowSelectionInterval(0, RowCount);
                                } else {
                                        PartNotFound nf = new PartNotFound();
                                        nf.setVisible(true);
                                }
                            }
                        } catch (Exception e) {
                                e.printStackTrace();
                                JOptionPane.showMessageDialog(jButton1, "More information needed for search", "Error Message", JOptionPane.ERROR_MESSAGE);
                        }
                } else if (jTextField3.getText().equals("") || jTextField4.getText().equals("")) {
                        JOptionPane.showMessageDialog(jButton1, "More information needed for search", "Error Message", JOptionPane.ERROR_MESSAGE);
                }
        }
        /**
         * @param args the command line arguments
         */
        // Variables declaration - do not modify
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        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.JTextField jTextField1;
        private javax.swing.JTextField jTextField2;
        private javax.swing.JTextField jTextField3;
        private javax.swing.JTextField jTextField4;
        // End of variables declaration
}