Problema para executar select

Pessoal tenho um botão que dispara um consulta (select) no meu banco, se eu passa algum parametro em um tTextField ele consulta normal, contudo se eu não passo parametro ele não dá erro de não conseguir conectar no banco.
Olha o código acionado pelo meu botão:

private void jButtonConsultarActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        Conexao conexao2 = new Conexao();
        try {
            conexao2.conexao();
        } catch (FileNotFoundException fnfe) {
                JOptionPane.showMessageDialog(null,
                    "Arquivo do Banco de Dados não encontrado! Código do erro: " + fnfe.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
        } catch (SQLException sqle) {
                JOptionPane.showMessageDialog(null,
                    "Impossível conectar com o Banco de Dados! Código do erro: " + sqle.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
        } catch (IOException ioe) {
                JOptionPane.showMessageDialog(null,
                    "Exceção do tipo IOException gerada! Código do erro: " + ioe.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
        } catch (ClassNotFoundException cnfe) {
                JOptionPane.showMessageDialog(null,
                    "Exceção do tipo ClassNotFoundException gerada! Código do erro: " + cnfe.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
        }
           
        if (jTextFieldConsulta.getText() != null){
            conexao2.setSelect("select e.cod_cli, e.razao_soc from bebwilson.clientes e"
                               + " where e.cod_cli = " + jTextFieldConsulta.getText());
            conexao2.abrirbanco();
        
        try{
            ResultSet rs = conexao2.stm.executeQuery();
            JTabela(rs);
            
        }catch(SQLException sqle){
            JOptionPane.showMessageDialog(null,
                    "Impossível conectar com o Banco de Dados! Código do erro: " + sqle.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
        }

        }
        if(jTextFieldConsulta.getText() == null){
           conexao2.setSelect("select e.cod_cli, e.razao_soc from bebwilson.clientes e");     
           conexao2.abrirbanco();

           try{
               ResultSet rs = conexao2.stm.executeQuery();
               JTabela(rs);
               
           }catch (SQLException sqle){
               JOptionPane.showMessageDialog(null,
                    "Impossível conectar com o Banco de Dados! Código do erro: " + sqle.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
           }
           
        }
        
//        conexao2.fecharbanco();
    }

Abaixo está o código do método JTable acionado no botão:

//Método para carregar a jTable de dados da select    
   public void JTabela(ResultSet pStr){
      Grade.removeAll();
      try{     
           ResultSet rs = pStr;
           if (rs == null) return;
           ResultSetMetaData rsmd = rs.getMetaData();
           
           /*Pega o nome da coluna no banco de dados
           String[] col = new String[rsmd.getColumnCount()];
           for (int it = 0; it < rsmd.getColumnCount(); ++it)
                  col[it] = rsmd.getColumnLabel(it + 1);*/
    
           Vector vt = new Vector();
           while (rs.next()){
             Object[] row = new Object[rsmd.getColumnCount()];
             for (int it = 0; it < rsmd.getColumnCount(); it++)
               row[it] = this.getValue(rs, rsmd, it);
             vt.add(row);
           }
           Object[][] lin = (Object[][])vt.toArray(new Object[0][0]);
           Grade.setModel(new DefaultTableModel(
                   lin,
                   new String [] {
                "Código", "Razão Social", "Impressão"
                }
                   )
                   {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.Boolean.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, true
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
            }
           );
           Grade.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);;
           for (int i=0;i < Grade.getColumnModel().getColumnCount();i++)
           {
             // Configurar o alinhamento das colunas
             //DefaultTableCellRenderer r = new DefaultTableCellRenderer();
             //r.setHorizontalAlignment(JLabel.RIGHT);
             //Grade.getColumnModel().getColumn(i).setCellRenderer(r);
               
             // Configurar o Tamanhos das Colunhas individualmente
             Grade.getColumnModel().getColumn(0).setPreferredWidth(30);
             Grade.getColumnModel().getColumn(1).setPreferredWidth(320);
             Grade.getColumnModel().getColumn(3).setPreferredWidth(30);
           }
           /*JCheckBox renderer = new JCheckBox();
           Grade.getColumnModel().getColumn(2).setCellRenderer(DefaultRenderer(renderer));*/
         }catch (SQLException sqle){
           JOptionPane.showMessageDialog(null,
                    "Impossível conectar com o Banco de Dados! Código: " + sqle.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
         }
    }
   
   public Object getValue(ResultSet rs, ResultSetMetaData rsmd, int col) throws SQLException{
      if ((rsmd.getColumnType(col + 1) == Types.TIMESTAMP) ||
          (rsmd.getColumnType(col + 1) == Types.DATE)){
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            try{
                Date dt = sdf.parse(rs.getString(col+1));
                sdf = new SimpleDateFormat("dd/MM/yyyy");
                return sdf.format(dt);
              }catch (ParseException pe){
                  return new String();
              }
          }
        return rs.getObject(col +1);
    }

Kra vc ta tendo problemas com a sintaxe da sua query, pois quando vc num passa nada no jtextfield seua query fica “quebrada”. No catch da SQLException chama o método getMessage() da exceção q vc vai ver o teu problema na sintaxe. Para resolver isso, é só verificar se o seu textfield ta vazio ( field.getText().trim().equals("") ). Se estiver vc adicionar algo e manda consultar (ou não) caso contrário executa normal.

Falow!

É que eu tenho 2 selects: uma com a clausula where e outra sem, daí eu faço um getText() no jTextField, se for == null eu no if ponho para executar a select sem where e se for != null eu ponho para executar com o where. Isso não funciona?
Olha o código:

Conexao conexao2 = new Conexao();
        try {
            conexao2.conexao();
        } catch (FileNotFoundException fnfe) {
                JOptionPane.showMessageDialog(null,
                    "Arquivo do Banco de Dados não encontrado! Código do erro: " + fnfe.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
        } catch (SQLException sqle) {
                JOptionPane.showMessageDialog(null,
                    "Impossível conectar com o Banco de Dados! Código do erro: " + sqle.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
        } catch (IOException ioe) {
                JOptionPane.showMessageDialog(null,
                    "Exceção do tipo IOException gerada! Código do erro: " + ioe.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
        } catch (ClassNotFoundException cnfe) {
                JOptionPane.showMessageDialog(null,
                    "Exceção do tipo ClassNotFoundException gerada! Código do erro: " + cnfe.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
        }
           
        if (jTextFieldConsulta.getText() != null){
            conexao2.setSelect("select e.cod_cli, e.razao_soc from bebwilson.clientes e"
                               + " where e.cod_cli = " + jTextFieldConsulta.getText());
            conexao2.abrirbanco();
        
        try{
            ResultSet rs = conexao2.stm.executeQuery();
            JTabela(rs);
            
        }catch(SQLException sqle){
            JOptionPane.showMessageDialog(null,
                    "Impossível conectar com o Banco de Dados! Código: " + sqle.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);           
        }

        }
        if(jTextFieldConsulta.getText() == null){
           conexao2.setSelect("select e.cod_cli, e.razao_soc from bebwilson.clientes e");     
           conexao2.abrirbanco();

           try{
               ResultSet rs = conexao2.stm.executeQuery();
               JTabela(rs);
               
           }catch (SQLException sqle){
               JOptionPane.showMessageDialog(null,
                    "Impossível conectar com o Banco de Dados! Código: " + sqle.toString(),
                    "Erro!",
                    JOptionPane.ERROR_MESSAGE);
           }
           
        }

O texto do textfield nunca vai ser null…

Vc tem q testar assim field.getText().trim().equals("");

uma string vazia e não null.

falow

Valeu.