聚合 管理  

          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 林俊海 閱讀(2194) 評論(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
          今天試了下,樓主的沒錯,可以運行了。謝謝!  回復  更多評論
            

          主站蜘蛛池模板: 泾源县| 华蓥市| 庐江县| 长阳| 诸暨市| 武清区| 桂阳县| 泾川县| 侯马市| 高密市| 重庆市| 临沧市| 辽中县| 根河市| 梁山县| 祥云县| 江川县| 沧源| 都江堰市| 房产| 富蕴县| 兴海县| 平遥县| SHOW| 普定县| 榆林市| 长寿区| 依安县| 荔浦县| 应城市| 洪湖市| 邯郸市| 社旗县| 海原县| 江源县| 张家港市| 万盛区| 独山县| 大足县| 永寿县| 宁晋县|