竹里館→憶童年

          獨坐幽篁里,彈琴復長嘯;深林人不知,明月來相照
          posts - 9, comments - 23, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理

          JDBC操作Image類型數據(添加和查詢)

          Posted on 2007-07-26 13:55 憶童年 閱讀(2059) 評論(1)  編輯  收藏 所屬分類: Java Web
          jdbc操作SQL Server中的image字段,要使用二進制流的方法,下面我給出兩個簡單的實例,一個是添加數據、一個是查詢數據

                     首先,在SQL Server中建立一個數據庫,命名為:mydata,在數據庫里新建一個表:test,表里有兩個字段:tid(int)、tdata(image),掛號內為數據類型。在D盤建立一幅圖像:123.jpg,之后我們將把123.jpg添加到數據庫,然后再查詢。

          添加數據(TestInsert.java,SQL Server驅動2005,2000的可以修改相應驅動和URL):
          import java.sql.*;
          public class TestInsert {
                 
          public static void main(String[] args){
                     String connectionUrl 
          =      "jdbc:sqlserver://localhost:1433;DatabaseName=mydata;user=sa;password="
                     Connection conn 
          = null;
            
                      
          try {
                          Class.forName(
          "com.microsoft.sqlserver.jdbc.SQLServerDriver");
                          conn 
          = DriverManager.getConnection(connectionUrl);

                          java.io.File file 
          = new java.io.File("d:\\123.jpg");
                          java.io.FileInputStream fis 
          = new java.io.FileInputStream(file);

                          ResultSet result
          =null;
                          String sql
          =null;
                          PreparedStatement prestmt
          =null

                          sql
          ="insert into test(tid,tdata) values(?,?)";
                          prestmt 
          =conn.prepareStatement(sql);
                          prestmt.setInt(
          11);
                          prestmt.setBinaryStream(
          2,fis,(int)file.length());
                          prestmt.executeUpdate();
                          System.out.println(
          "success!");
                          conn.close();
                     }

                     
          catch(Exception e){System.out.println("error: " + e);}
                 }

          }


          查詢并保存數據(TestQuery.java):
          import java.sql.*;
          import java.io.*;
          public class TestQuery {
              
          public static void main(String[] args){
                     String connectionUrl 
          = "jdbc:sqlserver://localhost:1433;DatabaseName=commerce1;user=sa;password=";
                     Connection conn 
          = null;
            
                     
          try {
                         Class.forName(
          "com.microsoft.sqlserver.jdbc.SQLServerDriver");
                         conn 
          = DriverManager.getConnection(connectionUrl);

                         java.io.File file 
          = new java.io.File("d:\\1230.jpg");          //不要覆蓋原來的文件,以便比較
                         java.io.FileOutputStream fos = new java.io.FileOutputStream(file);

                        String sql
          ="select tdata from test where tid=2";
                        Statement stmt 
          = conn.createStatement();
                        ResultSet result 
          = stmt.executeQuery(sql);
                        result.next();

                        InputStream fis 
          = result.getBinaryStream(1);
                        
          byte[] b = new byte[10*1024];
                        
          while(fis.read(b,0,10240!= -1){
                            fos.write(b,
          0,10240);
                        }

                       fos.flush();
                       System.out.println(
          "success!");
                       conn.close();
                   }

                  
          catch(Exception e){System.out.println("error: " + e);}
                }

          }


          評論

          # re: JDBC操作Image類型數據(添加和查詢)  回復  更多評論   

          2007-07-28 19:03 by
          哥哥,加油,努力,我相信你!我也要努力了!恩
          主站蜘蛛池模板: 松潘县| 舞钢市| 普格县| 错那县| 太保市| 郑州市| 塔城市| 石屏县| 仁寿县| 鹤庆县| 泾源县| 香港| 普格县| 龙里县| 凤阳县| 贵德县| 泰顺县| 甘孜县| 安图县| 民和| 遂平县| 贵阳市| 昌江| 南宫市| 义乌市| 马尔康县| 贺兰县| 滦平县| 诸城市| 胶南市| 邵东县| 湘乡市| 文昌市| 阿克苏市| 高碑店市| 西吉县| 名山县| 淮北市| 三河市| 佛冈县| 五指山市|