Resultado de Consulta em JTextField

8 respostas
E

Alguem poderia me ajudar, estou tentando pegar resultado de consulta no banco de dados e retornar para um JtextField, porem o retorno é null, segue o codigo:

PacienteControl:

public void consultarPacientes(){  
            try{              
                String sql = "SELECT * FROM pacientes where codigo = '1'";  
                AcessoMySql mysql = new AcessoMySql();  
                pstm = (PreparedStatement) mysql.conectar().prepareStatement(sql);  
                rs = pstm.executeQuery();  
                PacienteBean paci;  
                while (rs.next()){  
                    paci = new PacienteBean();  
                    paci.setCodigo(rs.getInt("codigo"));  
                    paci.setNome(rs.getString("nome"));  
                    paci.setEndereco(rs.getString("endereco"));  
                    paci.setBairro(rs.getString("bairro"));  
                    paci.setCidade(rs.getString("cidade"));  
                    paci.setUF(rs.getString("UF"));  
                    paci.setCep(rs.getString("cep"));  
                    paci.setTelefone(rs.getString("telefone"));  
                }  
               }catch(Exception erro){  
                erro.printStackTrace();  
            }  
        }

e o metodo de busca:

public void listar(){  
                   
           
         PacienteControl paci = new PacienteControl();  
         paci.consultarPacientes();  
         PacienteBean pacb = new PacienteBean();  
         tfNome.setText(pacb.getNome());  
                  
    }

porem o resultado fica em branco...

desde ja obrigado a todos

8 Respostas

D
Cara .. faz assim ...
PacienteControl paci = new PacienteControl();    
PacienteBean pacb = new PacienteBean();    
pacb = paci.consultarPacientes();    

tfNome.setText(pacb.getNome());

Mano outra coisa ...
O seu método de pesquisa esta como "void" ou seja n retorna nada ..
vc precisa retornar o paciente consultado

public PacienteBean consultarPacientes()
E

ainda nao entendi...

segue meu PacienteBean:

public class PacienteBean {
    

    private Integer codigo;
    private String nome;
    private String endereco;
    private String bairro;
    private String cidade;
    private String UF;
    private String cep;
    private String telefone;

... e os Set's e os Get's
}
D
public PacienteBean consultarPacientes(){    //VOID RETORNA NULL, INT INTEIRO, STRING STRING, OBJETO OBJETO PESQUISE SOBRE ISSO
        try{                
            String sql = "SELECT * FROM pacientes where codigo = '1'";    
            AcessoMySql mysql = new AcessoMySql();    
            pstm = (PreparedStatement) mysql.conectar().prepareStatement(sql);    
            rs = pstm.executeQuery();    
            
            while (rs.next()){    
                PacienteBean paci = new PacienteBean();    
                paci.setCodigo(rs.getInt("codigo"));    
                paci.setNome(rs.getString("nome"));    
                paci.setEndereco(rs.getString("endereco"));    
                paci.setBairro(rs.getString("bairro"));    
                paci.setCidade(rs.getString("cidade"));    
                paci.setUF(rs.getString("UF"));    
                paci.setCep(rs.getString("cep"));    
                paci.setTelefone(rs.getString("telefone"));    
            }    
            return paci;//RETORNO

           }catch(Exception erro){    
            erro.printStackTrace();    
        }    
    }
PacienteControl paci = new PacienteControl();      
PacienteBean pacb = new PacienteBean();      
pacb = paci.consultarPacientes();      
  
tfNome.setText(pacb.getNome());
E

ok, agora sim... muito obrigado... so para constar segue a unica alteracao q fiz para dar certo..

PacienteBean paci = new PacienteBean();  
        public PacienteBean consultarPacientes(){    //VOID RETORNA NULL, INT INTEIRO, STRING STRING, OBJETO OBJETO PESQUISE SOBRE ISSO  
            try{               
                String sql = "SELECT * FROM pacientes where codigo = '1'";      
                AcessoMySql mysql = new AcessoMySql();      
                pstm = (PreparedStatement) mysql.conectar().prepareStatement(sql);      
                rs = pstm.executeQuery();                       
                while (rs.next()){                               
                    paci.setCodigo(rs.getInt("codigo"));      
                    paci.setNome(rs.getString("nome"));      
                    paci.setEndereco(rs.getString("endereco"));      
                    paci.setBairro(rs.getString("bairro"));      
                    paci.setCidade(rs.getString("cidade"));      
                    paci.setUF(rs.getString("UF"));      
                    paci.setCep(rs.getString("cep"));      
                    paci.setTelefone(rs.getString("telefone"));      
                }         
               }catch(Exception erro){      
                erro.printStackTrace();      
            }
            
            return paci;//RETORNO     
        }
L

Eu vi duas coisas estranhas no seu código.

1º No seu método: public PacienteBean consultarPacientes()

Não tem dentro do try um:

return, ou seja um return paci;

e dentro do catch também vai faltar um return;

2º Na sua string sql:

String sql = “SELECT * FROM pacientes where codigo = ‘1’”;

Eu acredito que o número 1 não pode estar entre aspas simples, pois ele é um inteiro.

F

Poderia me ajuda tb estou com duvida na consulta, nao esta retornando a consulta nos campos
ja tentei de tudo nao sei o que esta errado , ja testei a conexao com o banco.

public void consAlterarPf(){
         ClienteNegocio cn=new ClienteNegocio();
      	
         String sql = "SELECT cep, bairro, cidade, estado, email, orgaoExped, estadoEmissor FROM Cliente where idCliente="+id+";";
      	
      	
         ClienteDao bd = new ClienteDao();
      
         PreparedStatement stm = null;
         ResultSet rs = null;
         Connection conn = null;
      
         try {
            conn = bd.getConnection();
         
            stm = conn.prepareStatement(sql);
         	    
            rs = stm.executeQuery();
         	
            while (rs.next()) {
            	
               setCep(rs.getString("cep"));
               setBairro(rs.getString("bairro"));
               setCidade(rs.getString("cidade"));
               setEstado(rs.getString("Estado"));
               setEmail(rs.getString("email"));
               setOrgExp(rs.getString("orgaoExped"));
               setEstEmis(rs.getString("estadoEmissor"));
              	
            }
         
         }
            catch (Exception e) {
               e.printStackTrace();
               
            
            } 
         finally {
            if (stm != null) {
               try {
                  stm.close();
               } 
                  catch (SQLException e1) {
                     System.out.print(e1.getStackTrace());
                  }
            }
         }
  
      	
      }
L

Flavia, eu vi um erro ai, na Instrução SQL você conclui ela duas vezes, ou seja você coloca duas vezes o ";"
Penso que deve ficar assim:

public void consAlterarPf(){
ClienteNegocio cn = new ClienteNegocio();

String sql = "SELECT cep, bairro, cidade, estado, email, orgaoExped, estadoEmissor FROM Cliente where idCliente = " + id;  
      
      
     ClienteDao bd = new ClienteDao();  
    
     PreparedStatement stm = null;  
     ResultSet rs = null;  
     Connection conn = null;  
    
     try {  
        conn = bd.getConnection();  
       
        stm = conn.prepareStatement(sql);  
              
        rs = stm.executeQuery();  
          
        while (rs.next()) {  
              
           setCep(rs.getString("cep"));  
           setBairro(rs.getString("bairro"));  
           setCidade(rs.getString("cidade"));  
           setEstado(rs.getString("Estado"));  
           setEmail(rs.getString("email"));  
           setOrgExp(rs.getString("orgaoExped"));  
           setEstEmis(rs.getString("estadoEmissor"));  
              
        }  
       
     }  
        catch (Exception e) {  
           e.printStackTrace();  
             
          
        }   
     finally {  
        if (stm != null) {  
           try {  
              stm.close();  
           }   
              catch (SQLException e1) {  
                 System.out.print(e1.getStackTrace());  
              }  
        }  
     }  

      
  }
F

obrigada Leonardo

Criado 30 de novembro de 2011
Ultima resposta 19 de out. de 2012
Respostas 8
Participantes 4