Jtable e select mysql

3 respostas
E

Pessoal, nao tenho a minima ideia de como fazer para criar um Jtable que tenha os seguintes campos, Descrição do pagamento, Data Pagamento, Valor do pagamento. Essas informações serião pegadas com um comando SELECT (descricao_pagamento,data_pagamento,valor_pagamento,cc_pagamento) from pagamentos WHERE cc_pagamento=‘2222-5’ . O que eu gostaria de saber é como que eu posso apresentar os valores do comando select em uma jtable???

3 Respostas

E
Alguém pode me ajudar ???
E
Pessoal seguinte consegui criar minha jtable, so que tem um problema quando eu vou prencher ela so consigo adicionar o ultimo valor que tem cadastrado no banco de dados, segue abaixo o codigo:

public class Tabela {

Conexao con = new Conexao();
    int count;

public void cria_tabela(){


    JFrame jframe = new JFrame();
    jframe.setTitle("Tabela");
    jframe.setSize(600, 400);
    jframe.setVisible(true);

    
    

    String[] colunas = new String[]{"Descrição","Data","Valor"};
    
    String[][] dados = new String[][]{
            {"","",""},
            {"","",""},
            {"","",""}
    
    };
     
   
    DefaultTableModel modelo = new DefaultTableModel(dados, colunas); 
    JTable jtable = new JTable(modelo);
    jtable.setBounds(100, 100, 400, 200);
    jframe.getContentPane().add(jtable);

    JScrollPane jscroll = new JScrollPane();
    jscroll.setViewportView(jtable);
     
     jscroll.setBounds(100, 100, 400, 200);
     jframe.getContentPane().add(jscroll);
    try {
        con.pesquisa();
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null,"Erro"+ex);
    }

     
     modelo.addRow(con.pega_descricao());


}

}

Segunda Classe

public class Conexao {

private Connection conn;
	private PreparedStatement pstmt;
	private Statement stmt;
	private ResultSet rs;
    private String[] Dados = new String[3];
    int conta=0;

    public void open_database() {

    try {

            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sib","root","253");


        }

    catch (ClassNotFoundException e) {

            e.printStackTrace();
            JOptionPane.showMessageDialog(null,"Não foi possivel encontrar o driver de banco: " + e.getMessage());

        }

    catch (SQLException e) {

            JOptionPane.showMessageDialog(null,"Erro ao conectar com o banco: " + e.getMessage());

        }

}

public void close_database() {

    try {

        if (stmt != null){

            stmt.close();
            conn.close();
            rs.close();

         }

    } catch (SQLException e) {

        e.printStackTrace();
        JOptionPane.showMessageDialog(null,"Erro ao se desconectar com o banco: " + e.getMessage());

    }
}

public void pesquisa() throws SQLException{

        open_database();

        String CC="247";
        
    try{
        stmt = conn.createStatement();
        //Pego nome da pessoa que recebera a transferencia
        String sql_script="SELECT * FROM transacoes WHERE conta_corrente= '"+CC+"'  ";
        rs = stmt.executeQuery(sql_script);
        
        String[] dados = new String[3];

        while(rs.next()){
            
            dados[0]=rs.getString("descricao");
            dados[1]=rs.getString("data_transacao");
            dados[2]=Double.toString(rs.getDouble("valor"));
            Dados=dados;  // Problema esta aqui como que eu faço pra passar valor por valor para a //jtable, lembrando que tenho duas classes
        }
        
    }

    catch(SQLException ex){

        JOptionPane.showMessageDialog(null,"Cliente não encontrado no banco de dados "+ex.getMessage());

    }

}


public String[] pega_descricao(){

    return Dados;
}

public int retorna_transações(){

    return conta;

}

}

Se alguem aqui puder me ajudar ficarei agradecido!!!

E
Alguém pode me ajudar, ou ninguém sabe !!!
Criado 27 de junho de 2009
Ultima resposta 1 de jul. de 2009
Respostas 3
Participantes 1