Consegui resolver o problema sim. Pelas justificativas dados por Osvaldo e
Dickson(Justficativas abaixo) vi que não é aconselhavel usar o addBatch para
consultas mas sim para UPDADE, INSERT e DELETE. Sendo assim o método ficou
assim(usei o executeQuery para pesquisar as medições para cada posto no
comando *for*):*
**private static List<MedicaoPrecipitacao>
recuperarMedicoesPluviometricasDeVariosPostosPluviometricos(List<PostoPluviometrico>
postosPluviometricos, Date dataInicial, Date dataFinal) {
Connection conn = null;
PreparedStatement pStatement = null;
ResultSet rs = null;
List <MedicaoPrecipitacao> result = new
ArrayList<MedicaoPrecipitacao>();
try {
conn = GerenciadorDeConexao.getConnection();
String query = "select m.* from " +
"medicoes_pluviometria_view m " +
"where m.codigo_posto=? and " +
"m.data between ? and ? " +
" order by data" ;
pStatement = conn.prepareStatement(query);
for (PostoPluviometrico postoPluviometrico :
postosPluviometricos) {
pStatement.setInt(1, postoPluviometrico.getCodigo());
pStatement.setDate(2, new
java.sql.Date(dataInicial.getTime()));
pStatement.setDate(3, new
java.sql.Date(dataFinal.getTime()));
**rs = pStatement.executeQuery();
while (rs.next()) {
MedicaoPrecipitacao m = new MedicaoPrecipitacao();
m.setCodigo(rs.getInt(1));
m.setData(rs.getDate(2));
m.setValor(rs.getDouble(3));
m.setCodigoPostoPluviometrico(rs.getInt(4));
result.add(m);**
}
}
} catch (SQLException e) {
System.out.println("Não conseguiu acessar o Banco de Dados.");
e.printStackTrace();
} finally {
try {
conn.close();
pStatement.close();
if(rs!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
return result;
}*
*
Osvaldo:*
Em
http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#addBatch(java.lang.String)<http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#addBatch%28java.lang.String%29>
você tem:
"Parameters:
sql - typically this is a static SQL INSERT or UPDATE statement "
Talvez seja melhor não utilizar o addBatch/executeBatch e modificar
seu loop usando um executeQuery e percorrer o record set respectivo
para cada PostoPluviometrico.
*Dickson: *
Este erro geralmente ocorre quando se utiliza o "execute" para
instruções SELECT (que retornam resultados), quando era esperado que
fosse utilizado INSERT, UPDATE ou DELETE que não retornam resultados.
--------------------------------------------------------------------------------------------------
"Se um dia tiver que escolher entre o mundo e o amor... Lembre-se:
Se escolher o mundo, ficará sem o amor, mas se escolher o amor,
com ele conquistará o mundo." (Albert Einstein)
╔════════════════════════════════════════╗
ROMERYTO VIEIRA LIRA
Bacharelando em Ciência da Computação - UFCG
Membro do SegHidro2 - LSD - http://seghidro.lsd.ufcg.edu.br
Membro do Grupo de Suporte Guardians - www.lcc.ufcg.edu.br
Página Pessoal: http://romeryto.googlepages.com
Blog: http://olhartecnologico.blogspot.com
╚════════════════════════════════════════╝
Pensou em imprimir este e-mail? Isto é mesmo necessário? Poupe o meio
ambiente.
----------------------------------------------------------------------------------------------------------------------------
On Wed, Jan 21, 2009 at 21:17, Dickson S. Guedes <[email protected]>wrote:
> Romeryto Lira escreveu:
> > Realmente. Muito obrigado pelos exclarecimentos pessoal.
>
> Conseguiu solucionar o problema Romeryto?
>
> Caso sim, não esqueça de responder o email para a lista com a solução,
> colocando na frente do assunto "[RESOLVIDO]".
>
> Caso não, continuamos na expectativa....
>
> []s
> Guedes
>
>
> --
> Dickson S. Guedes
> Administrador de Banco de Dados
> Confesol - Projeto Colmeia
> Florianopolis, SC, Brasil
> (48) 3322-1185, ramal: 26
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral