Na consulta abaixo quero somar o campo valor_final e apresentar na tela num campo jTextField. Então fiz da seguinte forma:
[code]public static float somaCaixa(Caixa caixa){
Statement stmt;
try {
stmt = GerenciadorBD.getConexao().createStatement();
ResultSet rs;
String sql = "Select sum(valor_final) as soma from caixa where data_caixa like " +caixa.getDataCaixa();
rs = stmt.executeQuery(sql);
while (rs.next()){
soma = rs.getFloat("soma");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(soma);
return soma;
}[/code]
Porém, quando mando escrever o valor da soma é sempre zero. Gostaria que me indicassem o que estou fazendo de errado.
Para chamar no jTextField faço da seguinte forma:
Caixa c = new Caixa();
c.setDataCaixa(converteData(tfData.getText()));
GerenciadorBDCaixa.somaCaixa(c);
tfValorCaixa.setText(String.valueOf(GerenciadorBDCaixa.soma));
aixa c = new Caixa();
c.setDataCaixa(converteData(tfData.getText()));
GerenciadorBDCaixa.somaCaixa(c);
tfValorCaixa.setText(String.valueOf(GerenciadorBDCaixa.soma));
na 3a. linha…vc chama a funcao somaCaixa…e seta uma variável soma dentro do método…
perguntas:
1 - essa variável soma é estatíca
2 - se ela não for estatíca…o correto seria encapsular e acessar por getters e setters
…
vc poderia tb fazer assim:
Caixa c = new Caixa();
c.setDataCaixa(converteData(tfData.getText()));
tfValorCaixa.setText(String.valueOf(GerenciadorBDCaixa.somaCaixa(c)));