聚合 管理  

          Blog Stats

          News

          我使用新博客啦:
          http://www.linjunhai.com/
          大家到我的新博客上看看吧!

          隨筆分類(28)

          文章分類(4)

          隨筆檔案(53)

          文章檔案(4)

          相冊

          相關鏈接


          林俊海的博客

          超級大菜鳥,每天要自強!

          我們知道可以把二進制數據存進數據庫里去,可是沒做過哦!
          前兩天一網友問題怎么做?才去查一下資料,試驗了一下

          //Create.java
          import java.sql.*;

          public class Create {
           public static void main(String[] args) {
            Connection con;    
            Statement st;  
            try {
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    
             String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\Test\\data.mdb";    
             con = DriverManager.getConnection(url, "", "");    
             st = con.createStatement();

             st.execute("CREATE TABLE mytable(id autoincrement, picname varchar(50), pic image);");
             //我用 Access 做下簡單測試, Oracle 數據庫用 "CREATE TABLE mytable(id autoincrement, picname varchar(50), pic BLOB);" 建表
             st.close();
             con.close();
            } catch(Exception e) {
             e.printStackTrace();
            }
           }
          }

          // SavePic.java  將圖片保存至數據庫
          import java.sql.*;
          import java.io.*;

          public class SavePic {
           public static void main(String[] args) {
            Connection con;    
            PreparedStatement st; 
            
            try {
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    
             String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\Test\\data.mdb";    
             con = DriverManager.getConnection(url, "", "");   
             String sql = "INSERT INTO mytable(picname, pic) values('雅林',?)";
             st = con.prepareStatement(sql);
             File f = new File("C:/Test/a.jpg");
             FileInputStream fis = new FileInputStream(f);
             st.setBinaryStream(1, fis, (int)f.length());
             st.executeUpdate();
             st.close();
             con.close();
            } catch(Exception e) {
             e.printStackTrace();
            }
           }
          }

          //ReadPic.java   從數據庫中讀出圖片存成文件
          import java.sql.*;
          import java.io.*;

          public class ReadPic {

           public static void main(String[] args) {
            Connection con;    
            Statement st; 
            
            try {
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    
             String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\Test\\data.mdb";    
             con = DriverManager.getConnection(url, "", "");   
             String sql = "SELECT pic FROM mytable WHERE picname='雅林'";
             st = con.createStatement();
             ResultSet rs = st.executeQuery(sql);
             rs.next();
             File f = new File("C:/Test/b.jpg");
             FileOutputStream fos = new FileOutputStream(f);
             InputStream is = rs.getBinaryStream("pic");
             int c;
             byte b[] = new byte[4*1024];
             while ((c=is.read(b))!=-1) {
              fos.write(b, 0, c);
             }
             fos.flush();
             is.close();
             st.close();
             con.close();
            } catch(Exception e) {
             e.printStackTrace();
            }

           }

          }

          posted on 2007-03-30 00:30 林俊海 閱讀(2196) 評論(5)  編輯  收藏 所屬分類: JAVA天地

          評論

          # re: 數據庫存儲圖片 [JAVA] 2007-03-30 09:12 Tortoise
          支持。。  回復  更多評論
            

          # re: 數據庫存儲圖片 [JAVA] 2007-05-04 10:41 tdh
          請問java存word,excel等跟圖片一樣嗎,如果不一樣怎么實現。謝謝  回復  更多評論
            

          # re: 數據庫存儲圖片 [JAVA] 2007-05-04 13:08 tdh
          我測試了下,樓主的方法建數據庫成功了,但存圖片不行,根本存不進去,也顯示不出來  回復  更多評論
            

          # re: 數據庫存儲圖片 [JAVA] 2007-05-05 02:15 林志斌
          今天我發現我在建表后,忘了
          st.close();
          con.close();

          我再次測試了一下,也成功了,建議 tdh 再測試一下.
          我在 access 中測試存取 word, excel 文件也通過了.
            回復  更多評論
            

          # re: 數據庫存儲圖片 [JAVA] 2007-05-20 17:14 tdh
          今天試了下,樓主的沒錯,可以運行了。謝謝!  回復  更多評論
            

          主站蜘蛛池模板: 共和县| 海门市| 海城市| 大化| 怀远县| 商南县| 鹤壁市| 宜君县| 德昌县| 康马县| 延寿县| 奉新县| 田林县| 自治县| 象山县| 莒南县| 祁阳县| 东兰县| 江北区| 永寿县| 德昌县| 嘉祥县| 东海县| 云和县| 双江| 科技| 麻栗坡县| 洱源县| 松阳县| 当雄县| 商河县| 定边县| 宁德市| 乌鲁木齐县| 建瓯市| 陇西县| 嘉义市| 武冈市| 吴堡县| 克拉玛依市| 福贡县|