[RESOLVIDO]Retornar soma do banco para um Textfield

Pessoal, tenho feito um aplicativo por experiencia(bote experiencia nisso)

vamos lá,

to usando o pattern DAO pra fazer o programa, no link abaixo está o codigo da classe DAO e do Jframe.

oque eu quero fazer é o seguinte:

na parte DAO tem a classe calcula, que tem o código mysql que manda os dados pro banco e retorna o resultado*( esse resultado que eu preciso que apareça no textfield) .

na parte do jframe tem 2 textfield(onde eu coloco as duas datas) e outro textfield(pra mostrar o resultado), tenho também um botão que manda calcular.


problema: não consigo retornar o resultado para o jtextfield.

preciso saber onde estou errando e oque falta pra resolver esse problema.

a ajuda de vocês é de grande importancia.

por que você não faz o seu método calcula(Cheque x1) retornar o cálculo?

no caso , só preciso mudar o void por double?

não… precisa também fazer o return na operação que você quer que retorne…

mas cadê o return no método?
outro detalhe: a sua sql ao que me parece vai retornar apenas 1 valor, que é a soma do campo valor. Então por que fazer um laço? Utilize o if no lugar do while
você também pode retornar o seu objeto x1 pois ele já tem o método setTotal que recebe esta soma

Problema de erros resolvido.

mas ele ta retornando 0.0

e agora?

public double calcula(Cheque x1) throws SQLException {



        String sql = "select sum(valor) as Total from cheque where datapag between ? and ?";
        PreparedStatement stmt = this.conexao.prepareStatement(sql);
        stmt.setString(1, x1.getData1());
        stmt.setString(2, x1.getData2());
        ResultSet rs = stmt.executeQuery();


        double valor1=0;
        while (rs.next()) {

           
            valor1 = rs.getDouble("Total");

        }

        //rs.close();
        stmt.close();
        return valor1;

    }
public class jTSoma extends javax.swing.JFrame {

    private double valor1;
private void jBSomaeListaActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:
        
        calcular();
        jTTotal.setText(""+valor1);

    }           
public void calcular() {



        try {
            
            Cheque x1 = new Cheque();
            x1.setDatapag(jTData1.getText());
            x1.setDatapag2(jTData2.getText());
            ChequeDao dao = new ChequeDao();
            valor1 = dao.calcula(x1);



        } catch (SQLException ex) {
            Logger.getLogger(jTCheque.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

ta retornando 0.0 pra o textfield