estou com um problema, criei um campo Img Blob no meu Mysql e na minha classe cadastrar do Java adicionei os dados e uma variavel CadImg do tipo Image, segue o código
[code]public class Cadastrar extends javax.swing.JFrame {
Image CadImg;
public Cadastrar() {
initComponents();
} ..[/code]
e seleciono a Imagem através do JFileChooser, segue o código
[code] FileNameExtensionFilter filtro = new FileNameExtensionFilter(“Arquivo de Imagem (*.jgp, *.gif, *.png, *.jpeg, *.bmp)”,“jpg”, “gif”, “png”, “jpeg”, “bmp”);
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(filtro);
int retorno = fileChooser.showOpenDialog(null); // showSaveDialog retorna um inteiro , e ele ira determinar que o chooser será para salvar.
if (retorno == JFileChooser.APPROVE_OPTION) {
try {
CadImg = ImageIO.read(fileChooser.getSelectedFile());
JOptionPane.showMessageDialog(this, "Imagem Adicionada!");
} catch(IOException ex ){
JOptionPane.showMessageDialog(null,"Nao foi possivel abrir! Erro de Formato");
}
} else {
}[/code]
e na Classe Consultar, que é em formulário JFrame assim como a classe Cadastrar não consigo receber o valor em blob, segue o código
[code]try { //tratamento de erros
Class.forName(“com.mysql.jdbc.Driver”);//busca Driver
//conecta no BD
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/ume”, “root”, “”);
Statement stmt = con.createStatement();//objeto comdo sql
String ConsCpf = jTextField1.getText();
ResultSet RS = stmt.executeQuery("Select * from TabFicha where Cpf='" + ConsCpf + "' ");
while (RS.next()) {
JFrame frame = new JFrame("Foto");
ImageIcon image = new ImageIcon(RS.getURL("Img")); //Ja tentei RS.getBlob(); mas não aceita esse método, o problema está por aqui
JLabel label = new JLabel(image);
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.setSize(350,400);
label.setIcon(new ImageIcon(image.getImage().getScaledInstance(frame.getWidth(),frame.getHeight(), Image.SCALE_DEFAULT)));
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setVisible(true);
}
RS.close();
stmt.close();
con.close(); //fecha conexão com BD
} catch (SQLException e) { //trata os erros
JOptionPane.showMessageDialog(this, "Não Tem Foto Cadastrada.");
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(this, "Driver não encontrado");
}[/code]
Alguma ideia ? Me ajudem por favor. Obrigado
