Pegar valor da soma da coluna de um banco[RESOLVIDO]

6 respostas
xDenTim

Boa Noite Galera Blz?!

conexao.executaSQL("select sum(prod_custo) from produtos;");

Como faço para pegar esse retorno e colocar em um JTextField?

Obrigado

6 Respostas

I

Bom dia, nao conheco muito bem, mas tente instanciar e setar o valor da soma;

private JTextField jTF= new JTextField();

jTF.setText("valorDaSoma");

Espero ter ajudado;

Abs

F

Bom dia meu caro!

Acho que você pode fazer o seguinte…
Atribuir um resultSet a sua consulta e jogar o resultado no JTextField

...private JTextField edtSomaProduto = new JTextField(); String sql = "select sum(prod_custo) as SomaProuto from produtos;" PreparedStatement stmt = conn.prepareStatement(sql); ResultSet rs= stmt.executeQuery(); edtSomaProduto.setText(Integer.toString(rs.getInteger("SomaProduto")));

O caminho é mais ou menos este
Abs

xDenTim

desculpe minha ignorância mais não entendi ainda =/

essa é a minha classe que faz conexão com o banco
import java.sql.*;
import javax.swing.*;
        
public class Conexao

{
    final private String driver ="com.mysql.jdbc.Driver";
    final private String url = "jdbc:mysql://localhost/sistema";
    final private String usuario = "root";
    final private String senha = "sandra182"; 
          private Connection conexao;
    
    public ResultSet resultset;
    public Statement statement;
    
                     
    
    public boolean conecta()
    
    {
        boolean result = true;
        try
        {
            Class.forName(driver);//carrega o driver
            conexao = DriverManager.getConnection(url , usuario, senha); //efetua conexão
            JOptionPane.showMessageDialog(null,"conectou");//mostra se a conexão foi efetuada sem erro
            
        }
        catch(ClassNotFoundException Driver)
        {
            JOptionPane.showMessageDialog(null,""+Driver);
            result = false;
            
        }
        catch(SQLException  Fonte)
        {
            JOptionPane.showMessageDialog(null,""+Fonte);
            result = false;
        }    
        return result;
    
    
    
    }
    
    public void desconecta()
    {
        boolean result = true;
        try
        {   
          conexao.close();
          JOptionPane.showMessageDialog(null,"Banco fechado");
          
          
        }
        
        
        catch(SQLException fecha)
        {
         JOptionPane.showMessageDialog(null,"Não foi possível fechar o banco "+fecha);
         result = false;
        }
    }
    
   public void executaSQL (String ComandoSQL)
   {
       try
       {
           statement = conexao.createStatement();//criar o caminho do comando SQL "criar uma estrada"
           resultset = statement.executeQuery(ComandoSQL);//executa o comando SQL pela estrada criada pelo conexao.CreateStatement
       
       }
       catch(SQLException erro)
       {
           JOptionPane.showMessageDialog(null,erro.getMessage());
       }
   }
   
}

pode ser mais claro?

como posso pegar o retorno do comando sql e armazenar em uma variável?

obrigado pela ajuda

F
xDenTim:
desculpe minha ignorância mais não entendi ainda =/ essa é a minha classe que faz conexão com o banco
import java.sql.*;
import javax.swing.*;
        
public class Conexao

{
    final private String driver ="com.mysql.jdbc.Driver";
    final private String url = "jdbc:mysql://localhost/sistema";
    final private String usuario = "root";
    final private String senha = "sandra182"; 
          private Connection conexao;
    
    public ResultSet resultset;
    public Statement statement;
    
                     
    
    public boolean conecta()
    
    {
        boolean result = true;
        try
        {
            Class.forName(driver);//carrega o driver
            conexao = DriverManager.getConnection(url , usuario, senha); //efetua conexão
            JOptionPane.showMessageDialog(null,"conectou");//mostra se a conexão foi efetuada sem erro
            
        }
        catch(ClassNotFoundException Driver)
        {
            JOptionPane.showMessageDialog(null,""+Driver);
            result = false;
            
        }
        catch(SQLException  Fonte)
        {
            JOptionPane.showMessageDialog(null,""+Fonte);
            result = false;
        }    
        return result;
    
    
    
    }
    
    public void desconecta()
    {
        boolean result = true;
        try
        {   
          conexao.close();
          JOptionPane.showMessageDialog(null,"Banco fechado");
          
          
        }
        
        
        catch(SQLException fecha)
        {
         JOptionPane.showMessageDialog(null,"Não foi possível fechar o banco "+fecha);
         result = false;
        }
    }
    
   public void executaSQL (String ComandoSQL)
   {
       try
       {
           statement = conexao.createStatement();//criar o caminho do comando SQL "criar uma estrada"
           resultset = statement.executeQuery(ComandoSQL);//executa o comando SQL pela estrada criada pelo conexao.CreateStatement
       
       }
       catch(SQLException erro)
       {
           JOptionPane.showMessageDialog(null,erro.getMessage());
       }
   }
   
}

pode ser mais claro?

como posso pegar o retorno do comando sql e armazenar em uma variável?

obrigado pela ajuda

Neste caso ao inves do método executaSQL ser void coloque ele assim:
public ResultSet executaSQL (String ComandoSQL)  
   {  
       try  
       {  
           statement = conexao.createStatement();//criar o caminho do comando SQL "criar uma estrada"  
           resultset = statement.executeQuery(ComandoSQL);//executa o comando SQL pela estrada criada pelo conexao.CreateStatement  
         
       }  
       catch(SQLException erro)  
       {  
           JOptionPane.showMessageDialog(null,erro.getMessage());  
       }
       return resultset;  
   }
Na sua aplicação você cria uma variável do tipo ResultSet para receber o retorno da consulta sql
....private ResultSet rs;
...private JTextField edtSomaProduto = new JTextField();
Conexao conn = new Conexao();
//metdos de Conexao para conectar ao banco
String sql = "select sum(prod_custo) as SomaProuto from produtos;"
rs = conn.executaSQL(sql);
edtSomaProduto.setText(Integer.toString(rs.getInteger("SomaProduto")));
....
Deu uma luz rsrs? Tenta seguir por este caminho.... Abs
xDenTim

Ae consegui =)

Muito obrigado, to usando direto agora xP

F

marque o topico como resolvido.
Abs

Criado 29 de janeiro de 2013
Ultima resposta 2 de fev. de 2013
Respostas 6
Participantes 3