<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    將圖片文件寫入數(shù)據(jù)庫BLOB

    Posted on 2009-05-18 13:51 三羽 閱讀(3748) 評論(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   {  
      //   連接數(shù)據(jù)庫  
      //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);  
       
      //   獲取源照片數(shù)據(jù)  
       
      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值,用于提交到數(shù)據(jù)庫  
      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);  
               
              //   關(guān)閉資源          
              fin.close();  
              out.close();  
               
              //   插入數(shù)據(jù)庫  
              pstmt   =   conn.prepareStatement("update   javatest   set   content=?   where   PICNAME=?");  
              pstmt.setBlob(1,blob);  
              pstmt.setString(2,"Yzl");  
              pstmt.executeUpdate();  
              pstmt.close();  
               
              //   提交  
              conn.commit();  
               
              //   獲取數(shù)據(jù)庫中的照片          
      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("數(shù)據(jù)庫中照片的字節(jié)數(shù):"+in.available());                       //   此句總是為   0   不知道為什么,有誰知道嗎?  
       
              //   輸出  
              in.read(data);  
              fout.write(data);  
               
              //   關(guān)閉資源          
              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();  
              }  
              }  
       
      }
    主站蜘蛛池模板: 久久精品国产影库免费看| 日韩精品免费一区二区三区| 亚洲欧洲日本国产| 大学生一级毛片免费看| 免费在线观看亚洲| 亚洲av女电影网| 日韩高清在线免费看| 国产免费区在线观看十分钟| 亚洲婷婷综合色高清在线| 五月天婷亚洲天综合网精品偷| 久久免费看少妇高潮V片特黄| 亚洲乱码日产精品一二三| 亚洲国产日韩在线视频| 成人最新午夜免费视频| 中文字幕免费在线观看动作大片| 亚洲神级电影国语版| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久精品免费一区二区| 大妹子影视剧在线观看全集免费| 中文字幕无码亚洲欧洲日韩| 国产av无码专区亚洲av桃花庵| 国产成人免费片在线视频观看| 99视频在线免费| 一级一看免费完整版毛片| 亚洲日韩国产精品无码av| 亚洲免费无码在线| 久久久久免费看黄A片APP| 国产啪精品视频网站免费尤物 | 特级淫片国产免费高清视频| 青柠影视在线观看免费高清| 日韩亚洲人成网站| avtt天堂网手机版亚洲| 亚洲福利在线观看| 日日噜噜噜噜夜夜爽亚洲精品| 永久免费视频v片www| 国产桃色在线成免费视频| 久热免费在线视频| 久久国产福利免费| 一级毛片免费播放男男| 亚洲国产成人手机在线观看| 亚洲国产成人久久|