i have a JTable which data is called form a SQL database when a button is pressed i take some variable from a combobox and a textfield for the SQL query. it works the first time and loads up what i want correctly then when i click a record it should fill some textfields with information this also works but when i try to do a new search i get pushed to my catch as this is all in a try and catch loop. a Optionpane comes up and i click ok and it carriers on but the old information is not replaced. when i click on the old information though the new one comes up and the textfields are filled correctly. here is my code any help would be greatly appreciated

Java Code:
package possystem;

import javax.swing.JOptionPane;
import javax.swing.table.*;
import java.util.Vector;
import java.sql.*;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.TableModelEvent;
import javax.swing.table.AbstractTableModel;
/*
 * DatabaseItemForm.java
 *
 * Created on 19-Oct-2011, 19:06:28
 */

/**
 *
 * @author Owner
 */
public class DatabaseItemForm extends javax.swing.JFrame {

    ListSelectionModel listSelectionModel;

    /** Creates new form DatabaseItemForm */
    public DatabaseItemForm() {
        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")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        searchResultsScrollpane = new javax.swing.JScrollPane();
        searchResults = new javax.swing.JTable();
        searchByLB = new javax.swing.JLabel();
        searchByCB = new javax.swing.JComboBox();
        searchByTF = new javax.swing.JTextField();
        searchByBT = new javax.swing.JButton();
        barcodeLB = new javax.swing.JLabel();
        barcodeTF = new javax.swing.JTextField();
        nameLB = new javax.swing.JLabel();
        nameTF = new javax.swing.JTextField();
        costLB = new javax.swing.JLabel();
        costTF = new javax.swing.JTextField();
        comfirmBT = new javax.swing.JButton();
        closeBT = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        searchResults.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 [] {
                "Id", "Barcode", "Name", "Cost"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        searchResults.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
        searchResults.setAutoscrolls(false);
        searchResults.setFillsViewportHeight(true);
        searchResults.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        searchResults.setShowHorizontalLines(false);
        searchResultsScrollpane.setViewportView(searchResults);
        searchResults.getColumnModel().getColumn(0).setResizable(false);
        searchResults.getColumnModel().getColumn(0).setPreferredWidth(50);
        searchResults.getColumnModel().getColumn(1).setResizable(false);
        searchResults.getColumnModel().getColumn(1).setPreferredWidth(100);
        searchResults.getColumnModel().getColumn(2).setResizable(false);
        searchResults.getColumnModel().getColumn(2).setPreferredWidth(200);
        searchResults.getColumnModel().getColumn(3).setResizable(false);
        searchResults.getColumnModel().getColumn(3).setPreferredWidth(100);

        searchByLB.setText("Search By:");

        searchByCB.setEditable(true);
        searchByCB.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Please Choose", "Barcode", "Name", "Cost" }));

        searchByBT.setText("Search");
        searchByBT.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                searchByBTActionPerformed(evt);
            }
        });

        barcodeLB.setText("Please Enter Barcode");

        nameLB.setText("Please Enter Name");

        costLB.setText("Please Enter Cost");

        comfirmBT.setText("Comfirm Changes");
        comfirmBT.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                comfirmBTActionPerformed(evt);
            }
        });

        closeBT.setText("Close");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(21, 21, 21)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(searchByLB)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(searchByCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(searchByTF, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(searchByBT))
                            .addComponent(nameLB)
                            .addComponent(costLB)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(barcodeTF, javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(nameTF, javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(costTF, javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(barcodeLB, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 222, Short.MAX_VALUE)
                                .addComponent(comfirmBT)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 190, Short.MAX_VALUE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(searchResultsScrollpane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
                .addComponent(closeBT)
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(closeBT))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
                        .addGap(22, 22, 22)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(searchByLB)
                            .addComponent(searchByCB, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(searchByTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(searchByBT))
                        .addGap(18, 18, 18)
                        .addComponent(barcodeLB)
                        .addGap(18, 18, 18)
                        .addComponent(barcodeTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(nameLB)
                        .addGap(18, 18, 18)
                        .addComponent(nameTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(costLB)
                        .addGap(18, 18, 18)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(costTF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(comfirmBT))
                        .addGap(18, 18, 18)
                        .addComponent(searchResultsScrollpane, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)))
                .addContainerGap())
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

    private void searchByBTActionPerformed(java.awt.event.ActionEvent evt) {                                           
        String searchType = (String) searchByCB.getSelectedItem();
        String searchText = searchByTF.getText();
        tableFiller(searchType, searchText);
    }                                          

    private void comfirmBTActionPerformed(java.awt.event.ActionEvent evt) {                                          
        String changeBarcode = barcodeTF.getText();
        String changeName = nameTF.getText();
        double changePrice = Double.parseDouble(costTF.getText());
        try {
            DriverManager.registerDriver(new com.mysql.jdbc.Driver());
            Connection conn = DriverManager.getConnection("REMOVED");
            ResultSet rs = conn.createStatement().executeQuery("UPDATE Test_items SET null," + changeBarcode + ", " + changeName + "," + changePrice + " WHERE ");
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(rootPane, "Something is Wrong");
        }
    }                                         

    public void tableFiller (String searchType, String searchText)  {
        try {
            DriverManager.registerDriver(new com.mysql.jdbc.Driver());
            Connection conn = DriverManager.getConnection("REMOVED");
            //Access Rows and Columns from database
            Vector<String> Columns = new Vector<String>();
            Vector<Vector<Object>> Rows = new Vector<Vector<Object>>();
            ResultSet rs = conn.createStatement().executeQuery("select * from Test_items where " + searchType + " = " + searchText + "");
            ResultSetMetaData metaDt = rs.getMetaData();

            int cols = metaDt.getColumnCount();
            Columns.clear(); // clear unwanted value if exist any in Columns variable.

//Get Columns From database
            for (int i = 1; i <= cols; i++) {
                Columns.addElement(metaDt.getColumnName(i));
            }

            Rows.clear(); // clear unwanted value if exist any in Rows variable.        
//Get RowsNames From database
            while (rs.next()) {
                Vector<Object> row = new Vector<Object>(cols);
                for (int i = 1; i <= cols; i++) {
                    row.addElement(rs.getObject(i));
                }
                Rows.addElement(row);
            }
            DefaultTableModel Model = new DefaultTableModel(Rows, Columns);
            searchResults.setModel(Model);
            searchResults.getColumnModel().getColumn(0).setPreferredWidth(50);
            searchResults.getColumnModel().getColumn(1).setPreferredWidth(100);
            searchResults.getColumnModel().getColumn(2).setPreferredWidth(200);
            searchResults.getColumnModel().getColumn(3).setPreferredWidth(100);
            listSelectionModel = searchResults.getSelectionModel();
            listSelectionModel.addListSelectionListener(new SharedListSelectionHandler());
            searchResults.getModel().addTableModelListener(searchResults);
            repaint();
            conn.close();
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(rootPane, "Something is Wrong");
        }
    }

    class SharedListSelectionHandler implements ListSelectionListener {

        @Override
        public void valueChanged(ListSelectionEvent e) {
            barcodeTF.setText(searchResults.getValueAt(searchResults.getSelectedRow(), 1).toString());
            nameTF.setText(searchResults.getValueAt(searchResults.getSelectedRow(), 2).toString());
            costTF.setText(searchResults.getValueAt(searchResults.getSelectedRow(), 3).toString());
        }
    }

    public void tableChanged(TableModelEvent e) {
        searchResults.tableChanged(new TableModelEvent(searchResults.getModel()));
    }
    // Variables declaration - do not modify                     
    private javax.swing.JLabel barcodeLB;
    private javax.swing.JTextField barcodeTF;
    private javax.swing.JButton closeBT;
    private javax.swing.JButton comfirmBT;
    private javax.swing.JLabel costLB;
    private javax.swing.JTextField costTF;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JLabel nameLB;
    private javax.swing.JTextField nameTF;
    private javax.swing.JButton searchByBT;
    private javax.swing.JComboBox searchByCB;
    private javax.swing.JLabel searchByLB;
    private javax.swing.JTextField searchByTF;
    private javax.swing.JTable searchResults;
    private javax.swing.JScrollPane searchResultsScrollpane;
    // End of variables declaration                   
}