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?
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'";
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;