<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Believe it,do it!

    Ideal is the beacon. Without ideal, there is no secure direction; without direction ,there is no life.
    理想是指路明燈。沒有理想,就沒有堅定的方向;沒有方向,就沒有生活。
    CTRL+T eclipse
    posts - 35, comments - 3, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    將圖片文件寫入數據庫BLOB

    Posted on 2009-05-18 13:51 三羽 閱讀(3756) 評論(0)  編輯  收藏 所屬分類: JAVA資料
      import   java.sql.*;  
      import   oracle.sql.*;  
      import   java.io.*;  
      import   oracle.jdbc.driver.OracleResultSet;  
       
      public   class   WriteBlob   {  
       
      public   static   void   main(String[]   args)   {  
       
      try   {  
      //   連接數據庫  
      //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
      //Connection   conn   =   DriverManager.getConnection("jdbc:odbc:Yzl","pda","pwpda");          
       
      Class.forName("oracle.jdbc.driver.OracleDriver");                                                                
      Connection   conn   =   DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:SISSI","pda","pwpda");  
      conn.setAutoCommit(false);  
       
      //   獲取源照片數據  
       
      BLOB     blob   =   null;  
      Blob     blob2   =   null;  
      String   fileName   =   "c:\\01.jpg";  
      File   f   =   new   File(fileName);  
       
       
      //   先插入一條記錄,用于后面獲得一個Blob對象  
      PreparedStatement   pstmt   =   conn.prepareStatement("insert   into   javatest(PICNAME,content)   values(?,empty_blob())");  
      pstmt.setString(1,"Yzl");    
      pstmt.executeUpdate();  
      pstmt.close();  
       
      //   獲得Blob對象(由于Blob是接口,不能實例化,所以只好用這種曲折方法獲得)  
      pstmt   =   conn.prepareStatement("SELECT   content   FROM   JAVATEST   WHERE   trim(PICNAME)=?   ");  
      pstmt.setString(1,"Yzl");  
      ResultSet   rset   =   pstmt.executeQuery();  
       
      if   (rset.next())   blob   =   (BLOB)rset.getBlob(1);  
      pstmt.close();  
       
      if   (blob   ==   null){  
      System.out.println("blob   is   null");  
       
      conn.close();  
      return   ;  
      }  
       
      //   填充Blob值,用于提交到數據庫  
      FileInputStream   fin   =   new   FileInputStream(f);  
      System.out.println("file   size   =   "   +   fin.available());  
      OutputStream   out   =   blob.getBinaryOutputStream();  
      byte[]   data   =   new   byte[(int)fin.available()];  
       
              //   獲取  
              fin.read(data);  
              out.write(data);  
               
              //   關閉資源          
              fin.close();  
              out.close();  
               
              //   插入數據庫  
              pstmt   =   conn.prepareStatement("update   javatest   set   content=?   where   PICNAME=?");  
              pstmt.setBlob(1,blob);  
              pstmt.setString(2,"Yzl");  
              pstmt.executeUpdate();  
              pstmt.close();  
               
              //   提交  
              conn.commit();  
               
              //   獲取數據庫中的照片          
      pstmt   =   conn.prepareStatement("SELECT   content   FROM   JAVATEST   WHERE   trim(PICNAME)=?   ");  
      pstmt.setString(1,"Yzl");  
      rset   =   pstmt.executeQuery();  
       
      if   (rset.next())   blob   =   (BLOB)((OracleResultSet)rset).getBLOB(1);  
      pstmt.close();  
       
      if   (blob   ==   null){  
      System.out.println("blob2   is   null");  
       
      conn.close();  
      return   ;  
      }  
       
      //   輸出到磁盤  
      //   獲得  
      FileOutputStream   fout   =   new   FileOutputStream(new   File("c:\\02.jpg"));  
      InputStream   in   =   blob.asciiStreamValue();  
      data   =   new   byte[(int)in.available()];  
       
      System.out.println("數據庫中照片的字節數:"+in.available());                       //   此句總是為   0   不知道為什么,有誰知道嗎?  
       
              //   輸出  
              in.read(data);  
              fout.write(data);  
               
              //   關閉資源          
              fin.close();  
              out.close();  
              conn.close();  
               
              //   打開  
              //Process   pro   =   Runtime.getRuntime().exec("cmd   /c   start   c:\\02.jpg");    
               
               
              }   catch   (SQLException   e)   {  
               
              System.err.println(e.getMessage());  
               
              e.printStackTrace();  
               
              }   catch   (IOException   e)   {  
               
              System.err.println(e.getMessage());  
               
              }   catch(ClassNotFoundException   e){  
               
              e.printStackTrace();  
              }  
              }  
       
      }
    主站蜘蛛池模板: 久久亚洲国产成人影院网站| 亚洲小说区图片区| 国产亚洲精品精品精品| 特级aa**毛片免费观看| 蜜桃精品免费久久久久影院| 亚洲国产无线乱码在线观看| 国产成人免费永久播放视频平台| 亚洲AV日韩AV高潮无码专区| 成人免费区一区二区三区 | 毛片a级毛片免费播放下载| 大地资源免费更新在线播放| 亚洲成AV人片一区二区| 人人揉揉香蕉大免费不卡| 日产亚洲一区二区三区| 四虎1515hh永久久免费| 亚洲中文字幕无码久久| 免费人成网站在线高清| 久久国产福利免费| 亚洲人成亚洲精品| 成人影片麻豆国产影片免费观看 | 99精品视频免费在线观看| 亚洲麻豆精品国偷自产在线91| 一级做a爰片久久免费| 成年性羞羞视频免费观看无限| 亚洲AV无码一区二区一二区| 免费中文字幕一级毛片| 鲁丝片一区二区三区免费 | 亚洲成AV人网址| 在线播放免费人成毛片乱码| 亚洲一区免费视频| 最近新韩国日本免费观看| 亚洲日韩精品A∨片无码加勒比| 亚洲A∨午夜成人片精品网站 | 亚洲AV无码之国产精品| 亚洲精品无码久久久久| 免费毛片a在线观看67194| 一级毛片人与动免费观看| 亚洲色图校园春色| 亚洲JIZZJIZZ中国少妇中文| 3344永久在线观看视频免费首页| 亚洲av无码一区二区三区人妖|