Boa tarde!
Criei uma classe a parte para calcular tudo que sai do caixa sem ser registrado, estou apanhando feio comum "select sum"
no postgre que é o banco que estou utilizando o comando funciona, mas o Dao eu não estou conseguinto criar, alguem tem alguma documentação, ou exemplo.
publicList<Caixa>somar(Doublevalor){List<Caixa>resultadosoma=newArrayList<Caixa>();try{Connectioncon=Conexao.getConexao();try{Statementstmt=con.createStatement();StringsqlSelect="select sum(valor) from caixa group by id";ResultSetrs=stmt.executeQuery(sqlSelect);preencherResultado(resultadosoma,rs);rs.close();stmt.close();}finally{con.close();}}catch(SQLExceptione){System.out.println("Não foi possivel consultar os registros . . .");e.printStackTrace();}returnresultadosoma;}
A conexão com o banco está ok?
Já verificou a configuração de seu JDBC?
dering
Quase tudo esta funcionando, o insert esta mandando os registros o select também esta OK!
Eu não consigo é mostrar essa consulta com soma na tela.
lord_vaynard
dering:
Quase tudo esta funcionando, o insert esta mandando os registros o select também esta OK!
Eu não consigo é mostrar essa consulta com soma na tela.
Sem o sum funciona?
dering
lord_vaynard:
dering:
Quase tudo esta funcionando, o insert esta mandando os registros o select também esta OK!
Eu não consigo é mostrar essa consulta com soma na tela.
Sem o sum funciona?
Sim, todos os valores da tabela como: Descrição, Data, Solicitante e Valor, retornam os dados.
Alterei o Dao para:
publicList<Caixa>somar(Doublevalor)throwsSQLException{
List<Caixa>somatotal=newArrayList<Caixa>();try{
Connectioncon=Conexao.getConexao();try{
Statementstmt=con.createStatement();StringsqlSelect="select sum(valor) from caixa group by id";ResultSetrs=stmt.executeQuery(sqlSelect);somaTotal(somatotal,rs);rs.close();stmt.close();}finally{
con.close(); }
}catch(SQLExceptione){
}
returnsomatotal;}
lord_vaynard
Funcionou?
raci0nal
Você está passando o resultado para um ArrayList é isso?
somaTotal() é um método? Acima tem uma variável com o mesmo nome, isso torna o código bastante confuso.
Mas vamos ao problema…
Você está fazendo um Statement que retorna apenas 1 campo com 1 registro (SELECT SUM()).
Provavelmente o método somaTotal() é responsável por “converter” o retorno em uma List. O erro deve estar justamente aí… quando tenta passar um retorno escalar (SELECT SUM()) para objetos Caixa.
Dê uma verificada.
Abraços,
Marcos A. C. Jordão’’
dering
Ainda não!
O projeto é muito simples eu devo estar cometendo erro de iniciante mesmo.
Você está passando o resultado para um ArrayList é isso?
somaTotal() é um método? Acima tem uma variável com o mesmo nome, isso torna o código bastante confuso.
Mas vamos ao problema…
Você está fazendo um Statement que retorna apenas 1 campo com 1 registro (SELECT SUM()).
Provavelmente o método somaTotal() é responsável por “converter” o retorno em uma List. O erro deve estar justamente aí… quando tenta passar um retorno escalar (SELECT SUM()) para objetos Caixa.