Dados do banco para um formulario

4 respostas
K

Boa noite,

gostaria de saber como faço para mostrar o resultado de um pesquisa feito no meu banco de dados em um formulario.. eu só consigo mostrar na JOptionPane.showMessageDialog mas fica zuado

desde já grato.

public void pesquisar(Paciente pesqPac) throws SQLException {
        
        Statement comando;
        Connection conexao;
        ResultSet resultado;
        String sql;
        
        conexao = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","projeto","1982");
        comando = conexao.createStatement();
        
        sql = "select * from paciente where cpf ='"+pesqPac.getCpf()+"'";
        
        resultado = comando.executeQuery(sql);
              
        if(resultado.next()){
                     
            setNome(resultado.getString("nome"));
            setCpf(resultado.getString("cpf"));
            
            JOptionPane.showMessageDialog(null, "NOME: "+getNome()+"\n"
                    + "CPF: "+getCpf());
            
           
           
            
        } else{
            
            JOptionPane.showMessageDialog(null, "PESQUISA NÃO RETORNOU RESULTADO!");
        }
        
        resultado.close();
        comando.close();
        conexao.close();
    }

4 Respostas

JuniorMaia
klausantus:
Boa noite,

gostaria de saber como faço para mostrar o resultado de um pesquisa feito no meu banco de dados em um formulario.. eu só consigo mostrar na JOptionPane.showMessageDialog mas fica zuado

desde já grato.

public void pesquisar(Paciente pesqPac) throws SQLException {
        
        Statement comando;
        Connection conexao;
        ResultSet resultado;
        String sql;
        
        conexao = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","projeto","1982");
        comando = conexao.createStatement();
        
        sql = "select * from paciente where cpf ='"+pesqPac.getCpf()+"'";
        
        resultado = comando.executeQuery(sql);
              
        if(resultado.next()){
                     
            setNome(resultado.getString("nome"));
            setCpf(resultado.getString("cpf"));
            
            JOptionPane.showMessageDialog(null, "NOME: "+getNome()+"\n"
                    + "CPF: "+getCpf());
            
           
           
            
        } else{
            
            JOptionPane.showMessageDialog(null, "PESQUISA NÃO RETORNOU RESULTADO!");
        }
        
        resultado.close();
        comando.close();
        conexao.close();
    }
setNome(resultado.getString("nome"));
            setCpf(resultado.getString("cpf"));
            
           seujlabel.setText(getNome());
           seujlabel2.setText(getCpf());
K

Dessa forma nao dar certo.. pq os labels estao em uma outra classe..

ta assim, minha classe paciente aonde faço a conexao com o banco, fazendo inserts e as pesquisas:

package clinica;

import java.sql.*;
import javax.swing.JOptionPane;

/**
 *
 * @author Klaus
 */
public class Paciente extends Pessoa {
    
    public void inserir(Paciente pac) throws SQLException {
        
        Statement comando;
        Connection conexao;
        ResultSet resultado;
        String sql;
        
        conexao = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","projeto","1982");
        comando = conexao.createStatement();
        
        sql = "insert into paciente (nome, sobrenome, cpf, bairro) values ('"+pac.getNome()+"','"+pac.getSobreNome()+"','"+pac.getCpf()+"',"
                + "'"+pac.endereco.getBairro()+"')";
        
        comando.executeUpdate(sql);
        
        comando.close();
        conexao.close();
        
    }
    
   
    public void pesquisar(Paciente pesqPac) throws SQLException {
        
        Statement comando;
        Connection conexao;
        ResultSet resultado;
        String sql;
        
        conexao = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","projeto","1982");
        comando = conexao.createStatement();
        
        sql = "select * from paciente where cpf ='"+pesqPac.getCpf()+"'";
        
        resultado = comando.executeQuery(sql);
              
        if(resultado.next()){
                     
            setNome(resultado.getString("nome"));
            setCpf(resultado.getString("cpf"));
            
            
            JOptionPane.showMessageDialog(null, "NOME: "+getNome()+"\n"
                    + "CPF: "+getCpf());
            
        } else{
            
            JOptionPane.showMessageDialog(null, "PESQUISA NÃO RETORNOU RESULTADO!");
        }
        
        resultado.close();
        comando.close();
        conexao.close();
    }
        
}

a classe de pesquisa:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        Paciente pesqPac = new Paciente();
        
        pesqPac.setCpf(textField_Cpf.getText());
        try {
            pesqPac.pesquisar(pesqPac);
        } catch (SQLException ex) {
            System.out.println(ex);
        }
        
        
        textField_Cpf.setText("");

e por fim aonde eu quero que apareça o resultado

package view;

/**
 *
 * @author KLAUS
 */
public class PanelMostraPaciente extends javax.swing.JDialog {

    /**
     * Creates new form PanelMostraPaciente
     */
    public PanelMostraPaciente(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
      }
    // Variables declaration - do not modify                     
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    // End of variables declaration                   
}
JuniorMaia

Quem disse? Basta dar um import na classe DAO para a classe do formulário e usar o nome da classe dor formulário para mostrar os dados.

Ex:

Classe_Do_Form.Jlabel1.setText("contúdo");
K

Quem disse? Basta dar um import na classe DAO para a classe do formulário e usar o nome da classe dor formulário para mostrar os dados.

Ex:

Classe_Do_Form.Jlabel1.setText("contúdo");

certeza que dar cara?? eu faco o import na classe paciente

import view.PanelMostraPaciente;

mas mesmo assim os jlabels n fica diponivel para mim, creio eu por serem private, n é???

// Variables declaration - do not modify private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; // End of variables declaration }

Criado 10 de junho de 2012
Ultima resposta 10 de jun. de 2012
Respostas 4
Participantes 2