Order By nao funciona

Pessoal tenho o seguinte Metodo:

[code] public Result getVotacao() {
Collection toReturn = new ArrayList();
ResultSet rs = null;
try {
Connection conexao = Conexao.getInstancia().conectarDb();
PreparedStatement st = conexao.prepareStatement(“SELECT tb_pessoa.nm_pessoa, tb_bairro.nm_bairro, tb_zona.nr_zona, tb_vila_jardim_bairro.nm_vila_jardim, vl_votacao_candidato FROM tb_votacao JOIN tb_pessoa ON tb_pessoa.cd_pessoa = tb_votacao.cd_pessoa JOIN tb_vila_jardim_bairro ON tb_vila_jardim_bairro.cd_vila_jardim = tb_votacao.cd_vila_jardim JOIN tb_bairro ON tb_bairro.cd_bairro = tb_vila_jardim_bairro.cd_bairro JOIN tb_zona ON tb_zona.cd_zona = tb_bairro.cd_zona ORDER BY ? ASC”);
st.setString(1, ordenacao);
System.out.println(st.toString());
rs = st.executeQuery();

    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
    return  ResultSupport.toResult(rs);
}

[/code]

pq o meu ORDER BY nao funciona?? qualquer campo q eu coloque la…ele nao altera a ordem dos registros… sendo q eu mando imprimir no console o sql, se eu pegar ele e jogar direto no banco ele funciona normalmente…

estou usando postgresql

obrigado

Fabio,

duas coisas que você precisa verificar:

  1. qual o conteúdo de ordenacao? (você passa o alias “ponto” campo?)

  2. eu não tenho certeza, mas acredito que quando se utiliza o setString no preparedStatement ele inclui o conteúdo entre aspas o que não permitiria a ordenação. Tente fazer uma concatenação simples.

fw

valeu cara… era a segunda opcao