2011-01-18 5 views
0

私はダービーDB(JDBC)に画像を保存しようとしていますが、それは例外にここはダービーブロブにtoolkitimageを保存する方法

void imageload() { 
FileDialog fd = new FileDialog(MainFram.this,"Open", FileDialog.LOAD); 
fd.show(); 
if(fd.getFile() == null){ 
//Label1.setText("You have not chosen any image files yet"); 
} 
else{ 

String d = (fd.getDirectory() + fd.getFile()); 
Toolkit toolkit = Toolkit.getDefaultToolkit(); 
Image1 = toolkit.getImage(d);` 
Object saveImage=Image1; 
insertImage(saveImage) //Db function 

` を与えるには、私のDB機能である

public void insertImage(String CUST_ID, Object saveImage) throws SQLException { 
    try { 
      Class.forName(driver); 
      con = DriverManager.getConnection(connectionURL); 

      } catch (SQLException ex) { 
      Logger.getLogger(Connect.class.getName()).log(Level.SEVERE, null, ex); 
      } catch (ClassNotFoundException ex) { 
      Logger.getLogger(Connect.class.getName()).log(Level.SEVERE, null, ex); 
      }  
    FileInputStream fis = new FileInputStream(saveImage); 
    stm = con.prepareStatement("insert into customer (PHOTO) values(?)); //it gives errorr here 
    stm.setObject(5,saveImage); 

    stm.executeUpdate(); 
} 
+0

DBの場合: 1.イメージオブジェクトのシリアライズされた形式 または 2.ディスクから読み取られたバイト –

答えて

0
void imageload() { 
FileDialog fd = new FileDialog(MainFram.this,"Open", FileDialog.LOAD); 
fd.show(); 
if(fd.getFile() == null){ 
//Label1.setText("You have not chosen any image files yet"); 
} 
else{ 

String d = (fd.getDirectory() + fd.getFile()); 
//Toolkit toolkit = Toolkit.getDefaultToolkit(); 
//Image1 = toolkit.getImage(d);` 
//Object saveImage=Image1; 
insertImage(d) //Db function 

次に

public void insertImage(String CUST_ID, String d) throws SQLException { 
    try { 
      Class.forName(driver); 
      con = DriverManager.getConnection(connectionURL); 

      } catch (SQLException ex) { 
      Logger.getLogger(Connect.class.getName()).log(Level.SEVERE, null, ex); 
      } catch (ClassNotFoundException ex) { 
      Logger.getLogger(Connect.class.getName()).log(Level.SEVERE, null, ex); 
      } 
    File image = new File(d);  
    FileInputStream fis = new FileInputStream(image); 
    stm = con.prepareStatement("insert into customer (PHOTO) values(?)); //it gives errorr here 
    stmt.setBinaryStream(5, fis, (int) image.length()); 
    //stm.setObject(5,saveImage); 
    //stm.executeUpdate(); 
    stm.execute(); 
} 
関連する問題