Atribuir valor de uma (Select sum) em um JLabel

2 respostas
M

pessoal é o seguinte: tenho uma consulta sql com sum

String sql = "select sum (val_bruto) from CRM_Financ where cod_cliente like ? and ies_situa_docum = 'A'";

esse select eu criei uma VIEW e fiz a soma de coluna (val_bruto)…
agora eu preciso jogar essa soma em um JLabel, tem como eu fazer isso?

2 Respostas

ViniGodoy

Você faz o get desse campo como faria para um campo qualquer, que não fosse totalizado. Só é uma boa incluir um nome para o campo, para evitar pega-lo pelo índice:

String sql = "SELECT SUM(val_bruto) Soma FROM CRM_Financ WHERE cod_cliente LIKE ? AND ies_situa_docum = 'A'";

Depois de rodar o PreparedStament e obter o resultset é só fazer:

double total = rs.getDouble("Soma");

Alguns bancos, como o ACCESS, podem exigir a palavra “AS” antes do soma. Nesse caso o SQL fica:

String sql = "SELECT SUM(val_bruto) AS Soma FROM CRM_Financ WHERE cod_cliente LIKE ? AND ies_situa_docum = 'A'";
M

entao, meu problema é exatamento no PreparedStament…

a minha view possui 20 campos, ou seja, eu criei ela trazendo 20 colunas de tabelas diferentes…

nao sei se onde eu declaro os getts e setts eu preciso declarar somente pra um campo qe sera o sum ou se eu preciso declarar para os 20…
dai com esse campo da sum, seria os 20 da minha viw mais 1 da sum…

meu prepareStatement ta mais ou menos assim:

PreparedStatement stmt = this.conexao.prepareStatement(sql);
        stmt.setString(1, desc);
         ResultSet rs = stmt.executeQuery();
        List<CidadeBeans> ListaCidadeConsulta = new ArrayList<CidadeBeans>();
        while (rs.next()) {
            CidadeBeans c1 = new CidadeBeans();
            c1.setCodCidade(rs.getString("CODCIDADE"));
            c1.setNomeCidade(rs.getString("CIDADE"));
            c1.setSiglaUF(rs.getString("UF"));
            .
            .
            .
            (todos os campos da view que são 20)
            ListaCidadeConsulta.add(c1);
        }
        rs.close();
        stmt.close();
        return ListaCidadeConsulta;
Criado 21 de julho de 2011
Ultima resposta 21 de jul. de 2011
Respostas 2
Participantes 2