Olá galera!
Entao, estou com um problema no netbeans(na verdade nao sei se eh nele mesmo) que eh o seguinte:
Quando eu faço uma consulta em um banco no postgresql utilizando o debug, o rs.next() só retorna false, porém, sem o debug, o resultado retorna normalmente…
(Detalhe: Existem registros no banco com as condiçoes da consulta! Ou seja, era pra retornar tudo no resultset :shock: )
Eis o código:
public List<Encomenda> consultarEncomendasEmAberto(){
List<Encomenda> listaEncomendas = new ArrayList<Encomenda>();
ResultSet rs = null;
PreparedStatement ps = null;
Connection con = null;
try {
con = Conexao.conectarBanco();
StringBuilder sql = new StringBuilder();
sql.append(" SELECT *");
sql.append(" FROM tb_encomenda");
sql.append(" WHERE status = ?");
ps = con.prepareStatement(String.valueOf(sql));
ps.setInt(1, 1);
rs = ps.executeQuery();
if(!rs.next())
{
JOptionPane.showMessageDialog(null, "Não existem encomendas no momento.", "Erro", 0);
} else {
Encomenda encomenda = new Encomenda();
encomenda.setCliente(pesquisarCliente(rs.getString("cpf_cli")));
encomenda.setFuncionario(Conexao.buscarFuncionario(rs.getString("cpf_func")));
encomenda.setProtocolo(rs.getInt("protocolo"));
encomenda.setDescricao(rs.getString("descricao"));
listaEncomendas.add(encomenda);
while(rs.next())
{
Encomenda e = new Encomenda();
e.setCliente(pesquisarCliente(rs.getString("cpf_cli")));
e.setFuncionario(Conexao.buscarFuncionario(rs.getString("cpf_func")));
e.setProtocolo(rs.getInt("protocolo"));
e.setDescricao(rs.getString("descricao"));
listaEncomendas.add(e);
}
}
} catch (Exception e) {
Logger.getLogger(TelaLogin.class.getName()).log(Level.SEVERE, null, e);
} finally {
if(rs != null)
try { rs.close(); } catch (Exception e) { }
if(ps != null)
try { ps.close(); } catch (Exception e) { }
if(con != null)
try { con.close(); } catch (Exception e) { }
}
Inclusive até debuguei, copiei exatamente o sql do java e coloquei no pgadmin 3 e rolou! Mas no debug ele nao funciona!
Se alguem puder ajudar agradeço
Obrigado,
Leonardo.