Oi pessoal como faço pra soma uma return lista… sabendo que esta lista volta varios valores…
Código:
try {
sql.append("SELECT * FROM credito");
rs = objConexao.executeQuery(sql.toString());
while(rs.next()) {
Credito cred = new Credito();
cred.setValor(rs.getString(3)); //valor de cada credito
listar.add(cred);
} catch (SQLException e) {
e.printStackTrace();
}
return listar;
}
como faço pra mostra jsp usando jtls os valores somados de cada credito.
desde já agradeço.
Você quer somar o que?
O valor de cada crédito?
Dependendo de onde você for utilizar essa soma, ou soma logo aí nesse loop do resultado da query e vai acrescentando o valor de cada credito a uma variável, ou então onde for utilizar, terás que percorrer a lista e somar o valor de cada crédito…
Espero que eu tenha entendido direito sua pergunta.
[]´s
voce pode já fazer um sum no banco
ex: SELECT SUM(SEU_CAMPO) FROM credito
pode somar de uma variável
try {
double soma = 0.0;
sql.append("SELECT * FROM credito");
rs = objConexao.executeQuery(sql.toString());
while(rs.next()) {
Credito cred = new Credito();
cred.setValor(rs.getString(3)); //valor de cada credito
soma += new Double(rs.getString(3)).doubleValue();
listar.add(cred);
} catch (SQLException e) {
e.printStackTrace();
}
return listar;
}
ou então faz um loop da sua collection, após o return e vai somando
Obrigado pela dica. mas com relação o que vocês postou eu também poderia fazer isto:
Double soma = null;
try {
sql.append("SELECT valor FROM credito");
rs = objConexao.executeQuery(sql.toString());
while(rs.next()) {
soma += (rs.getString(3)); //valor de cada credito
} catch (SQLException e) {
e.printStackTrace();
}
return soma; //Tipo retorna Double "Resultado"
}
no caso você só pega 1 campo do resultset
sql.append("SELECT valor FROM credito");
ai teria que pegar a posição 1 do seu resultset e nao a 3
soma += (rs.getString(3)); //valor de cada credito
para
soma += (rs.getString(1)); //valor de cada credito
e você ainda está concatenando (dará erro somar um Double com String) os valores não somando, pois você retorna uma String e Double e afins
soma += (rs.getString(3)); //valor de cada credito
para:
soma += ( new Double(rs.getString(3)).doubleValue(); //valor de cada credito
ai sim você estará somando
Cara valeu mesmo… agora entendi como fazer a coisa funcionar posso continuar meu projeto pois passei ano de 2008 parado…
Feliz 2009…
Obrigado.
Bom já implemetei no meu metodo, mas estou ainda perdido, como é que faço pra mostra isto em jsp… estou usando jstl pra mostra no jsp os dados cadastrado no banco mais pra mostra o resultado de total como faço??? desculpa pela pergunta mais sou iniciante neste mundo java-programação.
code que mostra a um resultado de uma consulta e este:
<jsp:useBean id="cred" class="cadastra.credito.CreditoDTO"/>
<c:forEach var="i" items="${cred.consultaCredito}">
<table width="414" border="0" cellpadding="3" cellspacing="-4" bordercolor="#000000">
<tr>
<td width="158" height="44" class="textoCorpo">${i.descricao}</td>
<td width="96" class="textoCorpo"> R$ ${i.valor}</td>
<td width="126" class="textoCorpo"> ${i.dataPagamento}</td>
</tr>
</table>
Mas pra mostra um resulta de um método que retorna um resultado faço como?
Obrigado pela compreensão.
Não funcionou colega, usei esta linha de código pra soma:
1. soma += ( new Double(rs.getString(3)).doubleValue(); //valor de cada credito
meu código e este mas tambem não esta somando:
try {
sql.append("SELECT valor FROM credito");
rs = objConexao.executeQuery(sql.toString());
while(rs.next()) {
total += rs.getString(1);
}
} catch (SQLException e) {
e.printStackTrace();
oi pessoal consegui resolve com esta forma:
sql.append("SELECT valor FROM credito");
rs = objConexao.executeQuery(sql.toString());
while(rs.next()) {
a += Double.parseDouble(rs.getString(1));
}
Credito cred = new Credito();
cred.setTotal(a);
listar.add(cred);
sabendo que a dica do meu colega em cima "como fazer esta soma no banco também iria resolver o problema ", mas preferi usa o código java pra soma… obrigado pela dica…