Consulta Java PostgreSQL?

1 resposta
postgresqlprogramaçãojava
felipe1234

Estou querendo trazer uma imagem salva do banco de dados, ele traz os dados tudo certinho menos a imagem ele traz o conteúdo da imagem como String e não a imagem.

Em baixo meu codigo:

public void pesquisaCliente2 (String rg){
    Funcionario1  fun = new Funcionario1 ();
     
    
     try {
        con = Conecta.conexao();
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(ClientesDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
     
    
    if(!"".equals(rg)){
        
       try{
     String sql="SELECT * FROM tb_funcionario2 where fun_rg = '" + rg +"'";
           
      Statement statement = con.createStatement();     
     
 ResultSet rs = statement.executeQuery(sql);    
      
        if(rs.next()){
                          
     txtId.setText((String.valueOf(rs.getInt("fun_id"))));
    txtNome.setText((rs.getString("fun_nome")));
    jDateChooserNascimento.setDate(rs.getDate("fun_datanasc")); 
  
    txtEmail.setText((rs.getString("fun_email")));
    btnSolteiro.setSelected((Boolean.valueOf(rs.getString("fun_civil"))));
    btnCasado.setSelected((Boolean.valueOf(rs.getString("fun_civil"))));
    txtRG.setText(rs.getString("fun_rg"));
    txtRua.setText((rs.getString("fun_ender")));
    txtUf.setText((rs.getString("fun_uf")));
    txtCep.setText(rs.getString("fun_cep"));
    txtEstado.setText(rs.getString("fun_estado"));
    jDateChooserAdmissao.setDate(rs.getDate("fun_dataadm"));  
    
    txtCargo.setText(rs.getString("fun_cargo"));
    txtDepartamento.setText(rs.getString("fun_dep"));
    txtTurno.setText(rs.getString("fun_turno"));
    txtHorasSemais.setText(String.valueOf(rs.getInt("fun_horsemanal")));
    txtBanco.setText(rs.getString("fun_banco"));
    txtAgencia.setText(String.valueOf(rs.getInt("fun_agencia")));
    txtNumeroConta.setText(String.valueOf(rs.getInt("fun_conta")));
    txtSalario.setText(String.valueOf(rs.getDouble("fun_salario")));
   txtVr.setText(String.valueOf(rs.getDouble("fun_vr")));
    txtVt.setText(String.valueOf(rs.getDouble("fun_vt")));
    txtHe.setText(String.valueOf(rs.getInt("fun_horasextras")));
    txtTelefone.setText(rs.getString("fun_telefone"));
     txtCPF.setText(rs.getString("fun_cpf"));
     txtCelular.setText(rs.getString("fun_celular"));
     txtDescendentes.setText(String.valueOf(rs.getInt("fun_descendentes")));
      lblImagem.setText(String.valueOf(rs.getBytes("imagem")));
       
            
        }
    }catch(SQLException ex){
        JOptionPane.showMessageDialog(null, "Funcionario não encontrado erro" +  ex);
    } 
    } else{
        JOptionPane.showMessageDialog(null, "Não há dados para a pesquisa! \nTente novamente...");
    } 
    
    
  
}

Conteudo que traz da imagem

1 Resposta

ursopolar

Bom dia amigo, não tenho muita experiência com desktop mas acredito que você tenha que converter os bytes em stream ou em image e “desenhar”, verifique também se não existe um componente específico para imagem, em vez de usar o setText para o label. Outra coisa que talvez seja interessante analisar é se a imagem está sendo salva corretamente no banco.

Espero ter colaborado positivamente! Bom trabalho :smile:

Edit: Parece que existe o método setIcon do JLabel para imagem, veja se ajuda. Abraços.

Criado 19 de fevereiro de 2017
Ultima resposta 20 de fev. de 2017
Respostas 1
Participantes 2