Как вставить / получить изображения в SQL Server 2008 R2, используя код Java? - PullRequest
0 голосов
/ 24 марта 2012

Я работаю над Java-программой, которую нужно вставлять / извлекать из / в БД (SQL server 2008 R2). Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 04 июня 2013
public void insertImage(Connection conn,String img)
        {
                int len;
                String query;
                PreparedStatement pstmt;

                try
                {
                        File file = new File(img);
                        FileInputStream fis = new FileInputStream(file);
                        len = (int)file.length();

                        query = ("insert into TableImage VALUES(?,?,?)");
                        pstmt = conn.prepareStatement(query);
                        pstmt.setString(1,file.getName());
                        pstmt.setInt(2, len);

                        // Method used to insert a stream of bytes
                        pstmt.setBinaryStream(3, fis, len); 
                        pstmt.executeUpdate();

                }
                catch (Exception e)
                {
                        e.printStackTrace();
                }
        }

        public void getImageData(Connection conn)
        {

                 byte[] fileBytes;
                 String query;
                 try
                 {
                         query = "select data from tableimage";
                         Statement state = conn.createStatement();
                         ResultSet rs = state.executeQuery(query);
                         if (rs.next())
                        {
                                  fileBytes = rs.getBytes(1);
                                  OutputStream targetFile=  
                                  new FileOutputStream(
                                       "d://filepath//new.JPG");

                                  targetFile.write(fileBytes);
                                  targetFile.close();
                        }        

                 }
                 catch (Exception e)
                 {
                         e.printStackTrace();
                 }
        }
...