Trazendo imagem do banco

1 resposta
R

Ola galera??!!!

Consegui gravar no banco de dados mysql uma imagem, mais não consegui retorna ela com um select, pois não sei c realmente estou trazendo ela como imagem.

Gostaria de uma ajuda para saber como trazer uma imagem do banco de dados e mostrala no frame.

ai vai o codigo:

public void insereFigura()
	{
		try{
			
			
			File file = new File("C:/teste/figura.jpg");
			InputStream fis = new FileInputStream(file);
			
			Class.forName(driver);
      		con = DriverManager.getConnection(url, login, passwd);
      		st = con.createStatement();
			
			PreparedStatement ps = con.prepareStatement("Insert into teste Values ('', ?, ?)");
			
			ps.setString(1, "Teste");
			ps.setBinaryStream(2, fis, (int)file.length());
			ps.executeUpdate();
			ps.close();
			fis.close();			
			
			
			
		}catch(Exception ex){
			JOptionPane.showMessageDialog(null, "Erro: " + ex);
		}
	}
	
	public void trasFigura()
	{
		try{
				
		byte[] img = null;
		
		Class.forName(driver);
      	con = DriverManager.getConnection(url, login, passwd);
      	st = con.createStatement();
				
		ResultSet rs = st.executeQuery("SELECT foto FROM teste");
		
		if(rs.next())
		{
			img = rs.getBytes(1);
			
		}
		
		
		}catch(Exception e){
			JOptionPane.showMessageDialog(null, "Erro: " + e);
		}
		
		
	}

OBS: Deixando ela como img eu ja posso mostrar ela no meu bando de dados?!

1 Resposta

M
Blob blob = rs.getBlob(1);
byte[] img = blob.getBytes(1,(int)blob.length());

cara fiz isso ae…
inclusive joguei a img em um label

labelImagem.setIcon(new ImageIcon(img));
Criado 29 de dezembro de 2006
Ultima resposta 3 de jan. de 2007
Respostas 1
Participantes 2