Não pode utilizar métodos de consulta que pegam uma consulta de um comando preparado

Bom dia,
Estou querendo resgatar um coluna de tabela mas aparece esse erro :

org.postgresql.util.PSQLException: Não pode utilizar métodos de consulta que pegam uma consulta de um comando preparado.
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:249)

Segue o método :

[code]

public List listarNome(boolean b) throws Exception {

    BancoDeDados bd = new BancoDeDados();

    bd.conectar();

    String sql = "select * from cadcliente";
           
    PreparedStatement p = bd.getPreparedStatement(sql);
                 
    ResultSet res = p.executeQuery(sql);
            
    List<Cliente> lista = new ArrayList<Cliente>();

    while (res.next()) {

        Cliente c = new Cliente();

        c.setNOME(res.getString("nome"));           

        lista.add(c);
    }

    bd.desconectar();
    
    return  lista;
}[/code]

Alguém sabe o que é ??

Como é este método getPreparedStatement?

public PreparedStatement getPreparedStatement(String sql) throws Exception { return conexao.prepareStatement(sql); }

Acho que o problema é você passar a variável sql no método executeQuery.

Quando cria o preparedStatement, você já informa qual a query.

Exato, já informo…

Como seria da outra forma ?

http://www.guj.com.br/java/49922-erro-ao-acessar-o-banco

[quote=JuniorMcz]Exato, já informo…

Como seria da outra forma ?[/quote]

A outra forma seria você não passar a variável sql no método:

ResultSet res = p.executeQuery();