[RESOLVIDO] Gravando imagem no banco de dados

Boa noite Galerinha!!

Tentei achar alguns exemplos na net, mas até agora nada.
Tenho uma função no programa para selecionar uma imagem pelo JFileChooser. Onde ao clicar no botão ele abre o o painel para escolher a imagem, jogando a mesma em um JLabel.
Agora quero gravar essa imagem no banco. @-@"

BOTÃO SALVAR

[code]
private void BT_SalvarMouseClicked(java.awt.event.MouseEvent evt) {
//Criando um acesso ao Bando no botão SALVAR.

    if (TF_Cel.getText().trim().isEmpty()){
        try
        {
            String sqllinsert = (String) ("insert into CLIENTE (nome,cpf,idade,"
            + "codbarras,telres,presenca,foto) values (?,?,?,?,?,?,?)");
            PreparedStatement stat = con_Cadastro.conexao.prepareStatement(sqllinsert);
            stat.setString(1, TF_Nome.getText());
            stat.setString(2, TF_CPF.getText());
            stat.setInt(3, new Integer(TF_Idade.getText()));
            stat.setInt(4, new Integer(TF_Cod.getText()));
            stat.setInt(5, new Integer(TF_Res.getText()));
            stat.setString (6, new Boolean(chk_Presenca.isSelected()).toString());
            //???
            System.out.println(sqllinsert);
            stat.execute();

            JOptionPane.showMessageDialog(null,"Cadastro realizado com sucesso.");

            con_Cadastro.ExecutarSQL("select * from CLIENTE");
            TF_Pesquisa.setText(null);
            TF_Nome.setText(null);
            TF_Idade.setText(null);
            TF_CPF.setText(null);
            TF_Cod.setText(null);
            TF_Res.setText(null);
            TF_Cel.setText(null);

        }
        catch (SQLException erro)
        {
            System.out.println("Erro ao gravar registro." + erro);
        }
    }[/code]

BOTÃO DE ONDE PUXO A IMAGEM.

[code]private void JB_FotoActionPerformed(java.awt.event.ActionEvent evt) {
//Criação do FileChooser
JFileChooser fileChooser = new JFileChooser();
fileChooser.setDialogTitle(“Importar imagem”);
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
// int a = fileChooser.showOpenDialog(null);

    if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)  
    {  
        File arquivo = fileChooser.getSelectedFile();//arquivo  
        BufferedImage bi = null;
        try {
            bi = ImageIO.read(arquivo); //carrega a imagem real num buffer
        } catch (IOException ex) {
            Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
        }
        BufferedImage aux = new BufferedImage(150, 120, bi.getType());//cria um buffer auxiliar com o tamanho desejado  
        Graphics2D g = aux.createGraphics();//pega a classe graphics do aux para edicao  
        AffineTransform at = AffineTransform.getScaleInstance((double) 150 / bi.getWidth(), (double) 120 / bi.getHeight());//cria a transformacao  
        g.drawRenderedImage(bi, at);//pinta e transforma a imagem real no auxiliar  
        LB_Foto.setIcon(new ImageIcon(aux));//seta no jlabel
        //return;  
        //LB_Foto.setIcon(new ImageIcon(fileChooser.getSelectedFile().getPath()));  
    }    

//Abre a caixa para escolher a imagem[/code]

Alguma ideia de como fazer isso? :roll:

Guardando seu caminho ou convertendo em em array de bytes, são algumas opções.

Pode dar algum exemplo?

Para salvar o caminho no banco, use por exemplo: C:\imagem.png e depois para exibir no Java busque está string no bd.

Para converter em um array de bytes :arrow: http://www.google.com.br/webhp?sourceid=chrome-instant&ix=seb&ie=UTF-8&ion=1#hl=pt-BR&output=search&sclient=psy-ab&q=converter%20imagem%20em%20bytes%20java&oq=&aq=&aqi=&aql=&gs_nf=&gs_l=&pbx=1&fp=15cf59412d73a934&ix=seb&ion=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&biw=1024&bih=621

:thumbup:

Obrigada anjo, vou dar uma olhadinha. ^-^

De nada, os link serviram para vc ter uma noção, depois caso haja alguma dúvida durante a implementação post aqui. :smiley:

estou com um problema na hora de setar o Jlabel com a imagem do banco, eu consigo salvar a imagem e pegar o array de bytes, porem quando eu seto o label com a a imagem convertida nao exibe a imagem, sera que algem pode me dar uma ajuda.

SELECIONA A IMAGEM:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { JFileChooser fileChooser = new JFileChooser(); fileChooser.setDialogTitle("Importar imagem"); fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG GIF & PNG Images", "jpg", "gif","png"); //Cria um filtro fileChooser.setFileFilter(filter); //Altera o filtro do JFileChooser if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { img.setIcon(new ImageIcon(fileChooser.getSelectedFile().getPath())); } ima = fileChooser.getSelectedFile().getPath(); System.out.print(ima); }

SALVA IMAGEM NO BANCO

[code]private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
String driver = “org.postgresql.Driver”;
String user = “postgres”;
String senha = “qwe123”;
String url = “jdbc:postgresql://10.0.0.102:5432/teste”;

    java.sql.Connection con;      
   try  
    {  
        Class.forName(driver);  
        con = java.sql.DriverManager.getConnection(url,user ,senha);  
    }  
    catch (Exception e)  
    {  
        e.printStackTrace();  
        throw new java.lang.RuntimeException("erro ao conectar");  
    }  
    System.out.println("Conexão realizada com sucesso.");
    
    String ciclo = this.jTextFieldCiclo.getText();  
    String corFlor = this.jTextFieldCorFlor.getText();  
    String CorHilo = this.jTextFieldCorHilo.getText();  
    String Cresc = this.jTextFieldHabtCresc.getText(); 
    String Cultivar = this.jTextFieldCultivar.getText();  
    String Manut = this.jTextFieldMaturacao.getText();  
    String Obs = this.jTextFieldObs.getText();  
    String Peso = this.jTextFieldPesoSementes.getText();
    String Porte = this.jTextFieldPorte.getText();  
    String Pub = this.jTextFieldCorPub.getText();
    byte[] byteArray;
    String comando = "insert into cultivares  (cultivar,ciclo,corflor,corhilo,cresc,manut,obs,peso,porte,pub,foto)  values(?,?,?,?,?,?,?,?,?,?,?)";
    try    
     {    
        try {
       
                ByteArrayOutputStream bytesImg = new ByteArrayOutputStream();
                BufferedImage imagemBuffer = ImageIO.read(new File(ima)); 
                ImageIO.write((BufferedImage)imagemBuffer, "jpg", bytesImg);//seta a imagem para bytesImg
                bytesImg.flush();//limpa a variável
                byteArray = bytesImg.toByteArray();//Converte ByteArrayOutputStream para byte[] 
                bytesImg.close();//fecha a conversão
            
        
         java.sql.PreparedStatement stmt = con.prepareStatement(comando);    
         stmt.setString(1, Cultivar);  
         stmt.setString(2, ciclo);  
         stmt.setString(3, corFlor);  
         stmt.setString(4, CorHilo);  
         stmt.setString(5, Cresc);  
         stmt.setString(6, Manut);  
         stmt.setString(7, Obs);  
         stmt.setString(8, Peso);
         stmt.setString(9, Porte);  
         stmt.setString(10,Pub);
         stmt.setBytes(11, byteArray);        
         
         System.out.println("salvo");
         
         stmt.executeUpdate();    
         stmt.close();    
         con.close();
         
         System.out.println("conexao fechada");
        
        } catch (IOException ex) {
            Logger.getLogger(Cultivares.class.getName()).log(Level.SEVERE, null, ex);
        }
     }    
            catch(java.sql.SQLException e)    
            {    
            throw new java.lang.RuntimeException(e.getMessage());    
            }    
}                                        [/code]

BUSCA E EXIBE A IMAGEM.

[code] private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
String driver = “org.postgresql.Driver”;
String user = “postgres”;
String senha = “qwe123”;
String url = “jdbc:postgresql://10.0.0.102:5432/teste”;

    java.sql.Connection con;
    try  
    {  
        Class.forName(driver);  
        con = java.sql.DriverManager.getConnection(url,user ,senha);  
        System.out.println("Conexão realizada com sucesso.");
        java.sql.Statement stm = null;
        stm = con.createStatement();
        
        String Cultivar = this.jTextFieldCultivar.getText();
        String comando =  "select * FROM cultivares where cultivar ='"+Cultivar+"'";
    
        ResultSet rs = stm.executeQuery(comando);
        
        while(rs.next())  
        {  
            // Os métodos getXXX recuperam os dados de acordo com o tipo SQL do dado:  
            //byteArray = null; 
            String ciclo = rs.getString("ciclo");  
            String corFlor = rs.getString("corflor");   
            String CorHilo = rs.getString("corhilo");  
            String Cresc = rs.getString("cresc");  
            String Manut = rs.getString("manut");  
            String Obs = rs.getString("obs");  
            String Peso = rs.getString("peso");
            String Porte = rs.getString("porte");  
            String Pub = rs.getString("pub");
            //byte[] imagemArray = rs.getBytes("foto");  
            //Image image = new ImageIcon(byteArray).getImage();
            Image teste = Toolkit.getDefaultToolkit().createImage(rs.getBytes("foto"));      
           
            //System.out.println("Tamanho da imagem: " + byteArray.length);  
            // System.out.println(imagemArray);       
    
            jTextFieldCiclo.setText(ciclo);
            jTextFieldCorFlor.setText(corFlor);
            jTextFieldCorHilo.setText(CorHilo);
            jTextFieldHabtCresc.setText(Cresc);
            jTextFieldMaturacao.setText(Manut);
            jTextFieldObs.setText(Obs);
            jTextFieldPesoSementes.setText(Peso);
            jTextFieldPorte.setText(Porte);
            jTextFieldCorPub.setText(Pub);
            img.setIcon(new ImageIcon(teste));
    
            //ImageIcon icon = new ImageIcon(imagemArray);  
            //img.setIcon(icon);
    }  
        } catch (ClassNotFoundException ex) {
        Logger.getLogger(Cultivares.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SQLException ex) {
            Logger.getLogger(Cultivares.class.getName()).log(Level.SEVERE, null, ex);
        }
}                                        

[/code]

eu ja pesquisei muito no aqui no forum, ja tentei de varias maneiras encontradas aqui porem nao consegui.

Que trágico, consegui salvar a imagem com a ajudinha do Henrique, consigo pesquisar.
Não mostra erro algum, mas ela simplesmente não aparece no meu jlabel. @-@"

[code]private void BT_PesquisarMouseClicked(java.awt.event.MouseEvent evt) {
try {
String comando = “select nome,cpf,idade,telres,telcel,foto”
+ " FROM cliente WHERE cpf =’" +TF_Pesquisa.getText()+ “’”;
PreparedStatement prep = con_Cadastro.conexao.prepareStatement(comando);
//esse retornaConexao está tratando da conexão com o bd.
ResultSet rs = prep.executeQuery();

        rs.next();
        //se for Varchar ou char usa rs.getString
        //Image img = Toolkit.getDefaultToolkit().createImage(rs.getBytes("foto"));
        BufferedImage img = ImageIO.read(new ByteArrayInputStream(rs.getBytes("foto")));  
        String nome = rs.getString("nome");   
        String cpf = rs.getString("cpf");
        int idade = rs.getInt("idade");
        int telres = rs.getInt("telres");
        int telcel = rs.getInt("telcel");
        //int codbarras = rs.getInt("codbarras");
        
        TF_Nome.setText( String.valueOf( nome));
        TF_CPF.setText( String.valueOf( cpf ) );
        TF_Idade.setText(String.valueOf(idade));
        TF_Res.setText(String.valueOf(telres));
        TF_Cel.setText(String.valueOf(telcel));
        LB_Foto.setIcon(new ImageIcon(img));
        //TF_Cod.setText(String.valueOf(codbarras));
        
        } catch (SQLException e){  
        JOptionPane.showMessageDialog(null, "Cliente não encontrado!");  
        e.printStackTrace();  
        } catch (Exception e){  
        e.printStackTrace();  
        } 
}[/code]

A imagem fica salva no banco de dados como [datatype]
Vamos lá… joguinho dos sete erros… alguém consegue achar porque não vai? xD

estou o mesmo problema, to usando o postegres e a coluna de imagens com bytea…

Uma bala para quem resolver. o/ (indo dormir… a bala fica para amanhã =x)

Alix,
Tenta o meu exemplo… para recuperar a img do banco…
Vai funcionar…

vlw :smiley:

http://www.guj.com.br/java/68520-como-inserir-imagem-no-banco-de-dados-usando-jsp

Ainda não consegui resolver… trágico. =/

Oi, acabei de ver sua mp, lamento por não poder ajudar de imediato (tbm não achei o erro), vou fazer uns teste e qlq coisa eu posto.

:thumbup:

Obrigada. -

Depois de muito olhar por ae. (Viva o google… lol)
Vi um teco ali e aqui… olhei o código do nosso amiguinho que teve o mesmo problema. E consegui resolver o problema para salvar a foto.

O botão para carregar a imagem ficou assim:

[code]private void JB_FotoMouseClicked(java.awt.event.MouseEvent evt) {
//Criação do FileChooser
JFileChooser fileChooser = new JFileChooser();
fileChooser.setDialogTitle(“Importar imagem”);
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
// int a = fileChooser.showOpenDialog(null);

    if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)  
    {  
        File arquivo = fileChooser.getSelectedFile();//arquivo  
        BufferedImage imagem = null;
        try {
            imagem = ImageIO.read(arquivo); //carrega a imagem real num buffer
        } catch (IOException ex) {
            Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
        }
        BufferedImage aux = new BufferedImage(150, 120, imagem.getType());//cria um buffer auxiliar com o tamanho desejado  
        Graphics2D g = aux.createGraphics();//pega a classe graphics do aux para edicao  
        AffineTransform at = AffineTransform.getScaleInstance((double) 150 / imagem.getWidth(), (double) 120 / imagem.getHeight());//cria a transformacao  
        g.drawRenderedImage(imagem, at);//pinta e transforma a imagem real no auxiliar  
        LB_Foto.setIcon(new ImageIcon(aux));//seta no jlabel
        
        
        //LB_Foto.setIcon(new ImageIcon(fileChooser.getSelectedFile().getPath()));
        local = fileChooser.getSelectedFile().getPath();  

      }

//Abre a caixa para escolher a imagem
}[/code]
Ps: Caso alguém use o cod. futuramente… Minha imagem foi redimensionada para o tam 150 / 120 (seria o tamanho do meu Jlabel no caso … para a foto caber bonitinha nele…)

GRAVANDO A IMAGEM NO BANCO

[code] try {
//Converte a imagem em bytes para guardar no banco
ByteArrayOutputStream bytesImg = new ByteArrayOutputStream();
BufferedImage imagemBuffer = ImageIO.read(new File(local));
ImageIO.write((BufferedImage)imagemBuffer, “jpg”, bytesImg);//seta a imagem para bytesImg
bytesImg.flush();//limpa a variável
byte[] bytes = bytesImg.toByteArray();//Converte ByteArrayOutputStream para byte[]
bytesImg.close();//fecha a conversão

        if (TF_Cel.getText().trim().isEmpty()){
            try
            {
                String sqllinsert = (String) ("insert into CLIENTE (nome,cpf,idade,"
                + "codbarras,telres,presenca,foto) values (?,?,?,?,?,?,?)");
                PreparedStatement stat = con_Cadastro.conexao.prepareStatement(sqllinsert);
                stat.setString(1, TF_Nome.getText());
                stat.setString(2, TF_CPF.getText());
                stat.setInt(3, new Integer(TF_Idade.getText()));
                stat.setInt(4, new Integer(TF_Cod.getText()));
                stat.setInt(5, new Integer(TF_Res.getText()));
                stat.setString (6, new Boolean(chk_Presenca.isSelected()).toString());
                stat.setBytes(7, bytes);
                System.out.println(sqllinsert);
                stat.execute();

                JOptionPane.showMessageDialog(null,"Cadastro realizado com sucesso.");

                con_Cadastro.ExecutarSQL("select * from CLIENTE");
                TF_Pesquisa.setText(null);
                TF_Nome.setText(null);
                TF_Idade.setText(null);
                TF_CPF.setText(null);
                TF_Cod.setText(null);
                TF_Res.setText(null);
                TF_Cel.setText(null);
                LB_Foto.setIcon(null);
                chk_Presenca.enable(false);                

            }
            catch (SQLException erro)
            {
                System.out.println("Erro ao gravar registro." + erro);
            }
        }

catch (IOException ex) {
Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
}[/code]

BUSCANDO DADOS

[code] private void BT_PesquisarMouseClicked(java.awt.event.MouseEvent evt) {
try {
String comando = “select nome,cpf,idade,telres,telcel,foto”
+ " FROM cliente WHERE cpf =’" +TF_Pesquisa.getText()+ “’”;
PreparedStatement prep = con_Cadastro.conexao.prepareStatement(comando);
//esse retornaConexao está tratando da conexão com o bd.
ResultSet rs = prep.executeQuery();

        rs.next();
        //se for Varchar ou char usa rs.getString
        //Image img = Toolkit.getDefaultToolkit().createImage(rs.getBytes("foto"));
        BufferedImage img = ImageIO.read(new ByteArrayInputStream(rs.getBytes("foto")));
        String nome = rs.getString("nome");   
        String cpf = rs.getString("cpf");
        int idade = rs.getInt("idade");
        int telres = rs.getInt("telres");
        int telcel = rs.getInt("telcel");
        //int codbarras = rs.getInt("codbarras");
        

        
        TF_Nome.setText( String.valueOf( nome));
        TF_CPF.setText( String.valueOf( cpf ) );
        TF_Idade.setText(String.valueOf(idade));
        TF_Res.setText(String.valueOf(telres));
        TF_Cel.setText(String.valueOf(telcel));
        //Converte o tamanho da imagem e mostra no jLabel
        BufferedImage aux = new BufferedImage(150, 120, img.getType());//cria um buffer auxiliar com o tamanho desejado  
        Graphics2D g = aux.createGraphics();//pega a classe graphics do aux para edicao  
        AffineTransform at = AffineTransform.getScaleInstance((double) 150 / img.getWidth(), (double) 120 / img.getHeight());//cria a transformacao  
        g.drawRenderedImage(img, at);//pinta e transforma a imagem real no auxiliar  
        LB_Foto.setIcon(new ImageIcon(aux));
        //TF_Cod.setText(String.valueOf(codbarras));
        
        } catch (SQLException e){  
        JOptionPane.showMessageDialog(null, "Cliente não encontrado!");  
        e.printStackTrace();  
        } catch (Exception e){  
        e.printStackTrace();  
        } 
}[/code]

Na hora de puxar a imagem de volta… redimensionei a imagem novamente para que ela não volte no tamanho original, pois quando ela é salva no banco vai com o tamanho original. =)

Meu código não está perfeito, mas já é alguma coisinha. kkkkkk’
Obrigada a todos que me deram um help e tentaram me ajudar.
Beijinhos e até a próxima pessoal. ;*

Oi, Tudo Bem??
Gostaria de pedir uma ajuda
A variavel local q está em negrito foi declarada onde??

view plaincopy to clipboardprint?
private void JB_FotoMouseClicked(java.awt.event.MouseEvent evt) {
//Criação do FileChooser
JFileChooser fileChooser = new JFileChooser();
fileChooser.setDialogTitle(“Importar imagem”);
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
// int a = fileChooser.showOpenDialog(null);

    if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)    
    {    
        File arquivo = fileChooser.getSelectedFile();//arquivo    
        BufferedImage imagem = null;  
        try {  
            imagem = ImageIO.read(arquivo); //carrega a imagem real num buffer  
        } catch (IOException ex) {  
            Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);  
        }  
        BufferedImage aux = new BufferedImage(150, 120, imagem.getType());//cria um buffer auxiliar com o tamanho desejado    
        Graphics2D g = aux.createGraphics();//pega a classe graphics do aux para edicao    
        AffineTransform at = AffineTransform.getScaleInstance((double) 150 / imagem.getWidth(), (double) 120 / imagem.getHeight());//cria a transformacao    
        g.drawRenderedImage(imagem, at);//pinta e transforma a imagem real no auxiliar    
        LB_Foto.setIcon(new ImageIcon(aux));//seta no jlabel  
          
          
        //LB_Foto.setIcon(new ImageIcon(fileChooser.getSelectedFile().getPath()));  
        [b]local [/b]= fileChooser.getSelectedFile().getPath();    
 
      }  

//Abre a caixa para escolher a imagem
}

Desde já obrigado, desculpe por alguma coisa

Alix : estou adaptando o teu codigo para implementar no meu projecto, gostava de saber o teu local = fileChooser.getSelectedFile().getPath(); se refere a oque para eu adaptar no meu codico

no botão GRAVANDO A IMAGEM NO BANCO o que significa aquela variavel LOCAL, pois eu não consigo salvar no banco a imagem que eu carreguei no jlabel como eu faço isso?

[quote=Alix]Depois de muito olhar por ae. (Viva o google… lol)
Vi um teco ali e aqui… olhei o código do nosso amiguinho que teve o mesmo problema. E consegui resolver o problema para salvar a foto.

O botão para carregar a imagem ficou assim:

[code]private void JB_FotoMouseClicked(java.awt.event.MouseEvent evt) {
//Criação do FileChooser
JFileChooser fileChooser = new JFileChooser();
fileChooser.setDialogTitle(“Importar imagem”);
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
// int a = fileChooser.showOpenDialog(null);

    if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)  
    {  
        File arquivo = fileChooser.getSelectedFile();//arquivo  
        BufferedImage imagem = null;
        try {
            imagem = ImageIO.read(arquivo); //carrega a imagem real num buffer
        } catch (IOException ex) {
            Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
        }
        BufferedImage aux = new BufferedImage(150, 120, imagem.getType());//cria um buffer auxiliar com o tamanho desejado  
        Graphics2D g = aux.createGraphics();//pega a classe graphics do aux para edicao  
        AffineTransform at = AffineTransform.getScaleInstance((double) 150 / imagem.getWidth(), (double) 120 / imagem.getHeight());//cria a transformacao  
        g.drawRenderedImage(imagem, at);//pinta e transforma a imagem real no auxiliar  
        LB_Foto.setIcon(new ImageIcon(aux));//seta no jlabel
        
        
        //LB_Foto.setIcon(new ImageIcon(fileChooser.getSelectedFile().getPath()));
        local = fileChooser.getSelectedFile().getPath();  

      }

//Abre a caixa para escolher a imagem
}[/code]
Ps: Caso alguém use o cod. futuramente… Minha imagem foi redimensionada para o tam 150 / 120 (seria o tamanho do meu Jlabel no caso … para a foto caber bonitinha nele…)

GRAVANDO A IMAGEM NO BANCO

[code] try {
//Converte a imagem em bytes para guardar no banco
ByteArrayOutputStream bytesImg = new ByteArrayOutputStream();
BufferedImage imagemBuffer = ImageIO.read(new File(local));
ImageIO.write((BufferedImage)imagemBuffer, “jpg”, bytesImg);//seta a imagem para bytesImg
bytesImg.flush();//limpa a variável
byte[] bytes = bytesImg.toByteArray();//Converte ByteArrayOutputStream para byte[]
bytesImg.close();//fecha a conversão

        if (TF_Cel.getText().trim().isEmpty()){
            try
            {
                String sqllinsert = (String) ("insert into CLIENTE (nome,cpf,idade,"
                + "codbarras,telres,presenca,foto) values (?,?,?,?,?,?,?)");
                PreparedStatement stat = con_Cadastro.conexao.prepareStatement(sqllinsert);
                stat.setString(1, TF_Nome.getText());
                stat.setString(2, TF_CPF.getText());
                stat.setInt(3, new Integer(TF_Idade.getText()));
                stat.setInt(4, new Integer(TF_Cod.getText()));
                stat.setInt(5, new Integer(TF_Res.getText()));
                stat.setString (6, new Boolean(chk_Presenca.isSelected()).toString());
                stat.setBytes(7, bytes);
                System.out.println(sqllinsert);
                stat.execute();

                JOptionPane.showMessageDialog(null,"Cadastro realizado com sucesso.");

                con_Cadastro.ExecutarSQL("select * from CLIENTE");
                TF_Pesquisa.setText(null);
                TF_Nome.setText(null);
                TF_Idade.setText(null);
                TF_CPF.setText(null);
                TF_Cod.setText(null);
                TF_Res.setText(null);
                TF_Cel.setText(null);
                LB_Foto.setIcon(null);
                chk_Presenca.enable(false);                

            }
            catch (SQLException erro)
            {
                System.out.println("Erro ao gravar registro." + erro);
            }
        }

catch (IOException ex) {
Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
}[/code]

BUSCANDO DADOS

[code] private void BT_PesquisarMouseClicked(java.awt.event.MouseEvent evt) {
try {
String comando = “select nome,cpf,idade,telres,telcel,foto”
+ " FROM cliente WHERE cpf =’" +TF_Pesquisa.getText()+ “’”;
PreparedStatement prep = con_Cadastro.conexao.prepareStatement(comando);
//esse retornaConexao está tratando da conexão com o bd.
ResultSet rs = prep.executeQuery();

        rs.next();
        //se for Varchar ou char usa rs.getString
        //Image img = Toolkit.getDefaultToolkit().createImage(rs.getBytes("foto"));
        BufferedImage img = ImageIO.read(new ByteArrayInputStream(rs.getBytes("foto")));
        String nome = rs.getString("nome");   
        String cpf = rs.getString("cpf");
        int idade = rs.getInt("idade");
        int telres = rs.getInt("telres");
        int telcel = rs.getInt("telcel");
        //int codbarras = rs.getInt("codbarras");
        

        
        TF_Nome.setText( String.valueOf( nome));
        TF_CPF.setText( String.valueOf( cpf ) );
        TF_Idade.setText(String.valueOf(idade));
        TF_Res.setText(String.valueOf(telres));
        TF_Cel.setText(String.valueOf(telcel));
        //Converte o tamanho da imagem e mostra no jLabel
        BufferedImage aux = new BufferedImage(150, 120, img.getType());//cria um buffer auxiliar com o tamanho desejado  
        Graphics2D g = aux.createGraphics();//pega a classe graphics do aux para edicao  
        AffineTransform at = AffineTransform.getScaleInstance((double) 150 / img.getWidth(), (double) 120 / img.getHeight());//cria a transformacao  
        g.drawRenderedImage(img, at);//pinta e transforma a imagem real no auxiliar  
        LB_Foto.setIcon(new ImageIcon(aux));
        //TF_Cod.setText(String.valueOf(codbarras));
        
        } catch (SQLException e){  
        JOptionPane.showMessageDialog(null, "Cliente não encontrado!");  
        e.printStackTrace();  
        } catch (Exception e){  
        e.printStackTrace();  
        } 
}[/code]

Na hora de puxar a imagem de volta… redimensionei a imagem novamente para que ela não volte no tamanho original, pois quando ela é salva no banco vai com o tamanho original. =)

Meu código não está perfeito, mas já é alguma coisinha. kkkkkk’
Obrigada a todos que me deram um help e tentaram me ajudar.
Beijinhos e até a próxima pessoal. ;*[/quote]

no botão GRAVANDO A IMAGEM NO BANCO o que significa aquela variavel LOCAL, pois eu não consigo salvar no banco a imagem que eu carreguei no jlabel como eu faço isso?
BufferedImage imagemBuffer = ImageIO.read(new File([color=red]local[/color]));

Fiquei curioso nessa linha: local :[code]

local= fileChooser.getSelectedFile().getPath();

[/code]

Onde e o que é esse objeto local que você atribui?
Você pode me responder desde, já agradeço.