2013-06-21 3 views
0

데이터베이스 테이블에서 BLOB 데이터 형식을 검색하고 이미지를 imageView에 표시하려고합니다. 다음은 내가 선택한 SQL 문입니다.BufferedImage를 Image 데이터 형식으로 변환

public boolean retrieve(){ 
boolean success = false; 
ResultSet rs = null; 
DBController db = new DBController(); 
db.getConnection();  
String dbQuery = "SELECT * FROM sm_product WHERE productName ='" + name +"'";  
rs = db.readRequest(dbQuery); 
try { 
    if(rs.next()){ 
     desc = rs.getString("productDescription"); 
     price = rs.getInt("productPrice"); 
     quantity = rs.getInt("productQuantity"); 
     dateStr = rs.getString("dateOfCreation"); 
        category = rs.getString("productCategory");  

        Blob blob = rs.getBlob("productImage"); 
        byte[] data = blob.getBytes(0, (int) blob.length()); 
        image = ImageIO.read(new ByteArrayInputStream(data)); //Error here 
        success = true; 
    } 
} 
catch(Exception e){ 
    e.printStackTrace(); 
} 
db.terminate(); 
return success; 
} 

검색 한 후 이미지보기에 표시하고 싶습니다. 다음은 코드입니다.

panel.getMyImageView().setImage(product.getImage()); 

그러나 호환되지 않는 유형 오류 메시지가 나타납니다. 나도 알아 Image = ImageIO.read (new ByteArrayInputStream (data)); 이 라인은 BufferedImage로 저장 한 다음 거기에서 이미지 데이터 형식으로 천천히 변환하고 이미지보기에 표시합니다. 그러나 2 시간의 연구 끝에 나는 운이 없다. 누군가 제발 도와 줘요?

미리 감사드립니다. 바이트 배열에 대한

답변

0
Toolkit.getDefaultToolkit().createImage(data) 

콜이 블롭

+0

감사에서 읽습니다. 다른 솔루션으로 해결했습니다. –

관련 문제