O erro acontece em:

flx.getId().setIdFluxo(rs.getInt(1)); , segunda linha depois do
while(rs.next)....

Em 26 de setembro de 2011 12:49, Tarcisio Martins <
[email protected]> escreveu:

> Integer no postgres e Integer no Java.
>
> Na minha query,
>
>
> select distinct (flx.id_fluxo, flx.id_unidade, flx.id_unidade_destino,
>  flx.nr_seq, flx.dt_desativacao, flx.tp_status, flx.id_solicitacao,
>   flx.nr_situacao_atual, flx.nr_situacao_futura)
>  from public.usuario u
>       inner join public.estrutura_organizacional eo on (u.id_unidade =
>        eo.id_unidade)
>       inner join public.relacionamento_eo_sol eosol on (eo.id_unidade =
>        eosol.id_unidade)
>       inner join public.protocolo prot ON (prot.id_unidade =
> eosol.id_unidade
>        and prot.id_solicitacao = 51),
>       public.fluxo flx
>  where flx.id_unidade = prot.id_unidade and
>        (flx.nr_situacao_atual, flx.nr_situacao_futura) not in (
> select fl.nr_situacao_atual,
>        fl.nr_situacao_futura
> from public.tramitacao tmtc,
>      public.fluxo fl,
>      public.protocolo prt
> where tmtc.nr_situacao_atual = fl.nr_situacao_atual and
>       tmtc.nr_situacao_futura = fl.nr_situacao_futura and
>       tmtc.id_protocolo = prt.id_protocolo and
>       tmtc.id_unidade_origem = 20
>        )
> ,
>
>
> será que tem a ver com o distinct que coloquei?
>
>
> distinct (flx.id_fluxo, flx.id_unidade, flx.id_unidade_destino,
> flx.nr_seq, flx.dt_desativacao, flx.tp_status, flx.id_solicitacao,
> flx.nr_situacao_atual, flx.nr_situacao_futura),
>
> estou usando o getInt:
>
>
> // inicio FluxoDAO.java -> buscaPossiveisDestinos
>
> public List<Fluxo> buscaPossiveisDestinos(Integer id_solicitacao,
>             Integer id_unidade_origem) throws SiprotGenericException {
>
>         List<Fluxo> fluxo = new ArrayList<Fluxo>();
>
>         StringBuffer qry = new StringBuffer(512);
>         qry.append("select distinct(flx.id_fluxo, flx.id_unidade,
> flx.id_unidade_destino, flx.nr_seq, flx.dt_desativacao, flx.tp_status,
> flx.id_solicitacao, ")
>            .append("flx.nr_situacao_atual, flx.nr_situacao_futura ) ")
>            .append("from public.usuario u ")
>            .append("inner join public.estrutura_organizacional eo ")
>            .append("on (u.id_unidade = eo.id_unidade) ")
>            .append("inner join public.relacionamento_eo_sol eosol ")
>            .append("on (eo.id_unidade = eosol.id_unidade) ")
>            .append("inner join public.protocolo prot ON (prot.id_unidade =
> eosol.id_unidade and prot.id_solicitacao=? ),public.fluxo flx ")
>            .append("where flx.id_unidade = prot.id_unidade and
> (flx.nr_situacao_atual,flx.nr_situacao_futura) not in ")
>            .append("( select fl.nr_situacao_atual, fl.nr_situacao_futura ")
>            .append("from public.tramitacao tmtc,public.fluxo
> fl,public.protocolo prt ")
>            .append("where tmtc.nr_situacao_atual=fl.nr_situacao_atual ")
>            .append("and tmtc.nr_situacao_futura=fl.nr_situacao_futura ")
>            .append("and tmtc.id_protocolo=prt.id_protocolo ")
>            .append("and tmtc.id_unidade_origem=? )");
>         System.out.println(qry.toString());
>         if (!super.getIsTransaction())
>             con = PostgresDAOFactory.createConection();
>
>         try {
>             PreparedStatement ps = con.prepareStatement(qry.toString());
>
>             ps.setInt(1, id_solicitacao);
>             ps.setInt(2, id_unidade_origem);
>
>             ResultSet rs = ps.executeQuery();
>
>             while (rs.next()) {
>                 Fluxo flx = new Fluxo();
>                 flx.getId().setIdFluxo(rs.getInt(1));
>                 flx.getId().setIdUnidade(rs.getInt(2));
>                 flx.setIdUnidadeDestino(rs.getInt(3));
>                 flx.setNrSeq(rs.getInt(4));
>                 flx.setDtDesativacao(rs.getTimestamp(5));
>                 flx.setTpStatus(rs.getString(6));
>                 flx.getId().setIdSolicitacao(rs.getInt(7));
>                 flx.setNmSglUnidOrigem(rs.getString(8));
>                 flx.setNmSglUnidDestino(rs.getString(9));
>                 flx.setNrSituacaoAtual(rs.getInt(10));
>                 flx.setNrSituacaoFutura(rs.getInt(11));
>
>                 fluxo.add(flx);
>             }
>
>             ps.close();
>
>             return fluxo;
>         } catch (SQLException ex) {
>             throw new SiprotGenericException(ex.getMessage(), ex);
>         } finally {
>             if (con != null) {
>                 try {
>                     con.close();
>                 } catch (SQLException ex) {
>                     throw new SiprotGenericException(ex.getMessage(), ex);
>                 }
>             }
>
>         }
>
>     }
>
> // fim
>
>
> vou testar sem o distinct, mas tbém no bd a primeira coluna é 179 e como
> pode ver na excessão
> que está no stacktrace que enviei, aqui no java a API me mostra -79, troca
> o 1 pelo - , ou algo parecido...
>
>
>
> Em 26 de setembro de 2011 11:58, Flavio Henrique Araque Gurgel <
> [email protected]> escreveu:
>
> 2011/9/26 Tarcisio Martins <[email protected]>:
>> > Não estou usando Hibernate
>> >
>> > lc_collate = LC_COLLATE = 'pt_BR.utf8'
>> >
>> >           client_encoding = 'UTF8'
>> >
>> > br.com.ufu.prograd.siprot.exception.SiprotGenericException: Bad value
>> for
>> > type int : -79,20,75,3,,A,51,2,1
>>
>> Me parece que há um erro de mapeamento aí no seu sistema. Você está
>> tentando carregar um valor fracionário numa variável inteira.
>> Pode ser que nem haja erro no log do PostgreSQL porque a consulta pode
>> estar certa para o banco de dados.
>>
>> Qual o data type da coluna no PostgreSQL, e qual o data type da
>> variável em Java?
>>
>> []s
>> Flavio Gurgel
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> - Tarcisio Martins Ferreira, 2010
> - Analista Desenvolvedor de Sistemas
> - Bacharel em Ciências da Comp.
> - Universidade Federal de Uberlândia
> - Minas Gerais
>
>
>


-- 
- Tarcisio Martins Ferreira, 2010
- Analista Desenvolvedor de Sistemas
- Bacharel em Ciências da Comp.
- Universidade Federal de Uberlândia
- Minas Gerais
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a