黑马程序员技术交流社区

标题: 往数据库传输图片失败,求解?????? [打印本页]

作者: 黑马不黑    时间: 2014-1-12 19:38
标题: 往数据库传输图片失败,求解??????
我测试的时候,两个类都是执行成功的,但是只有第一个类执行之后数据库里面才有图片数据,我想请教一下,第二个类为什么执行成功数据库里面没有数据?
  1. public class InsertIMG {
  2. public static void main(String[] args) {
  3.   File file = new File("D:\\zz.jpg");
  4.   InputStream is =null;
  5.      try {
  6.       is = new FileInputStream(file);  
  7.   } catch (FileNotFoundException e1) {
  8.    e1.printStackTrace();
  9.   }
  10.   Connection conn = DBUtil.getConnection();
  11.   try {
  12.    PreparedStatement ps = conn.prepareStatement("update T_MEASURE_PIC SET PIC1=? where jlid='1'");
  13.    ps.setBinaryStream(1, is,is.available());
  14.    int i =ps.executeUpdate();
  15.    if(i!=0){
  16.     System.out.println("true");
  17.    
  18.    }else{
  19.    
  20.     System.out.println("false");
  21.    }
  22.    
  23.   } catch (SQLException e) {
  24.    e.printStackTrace();
  25.   } catch (IOException e) {
  26.    e.printStackTrace();
  27.   }
  28. }
  29. }


  30. ///第二个类
  31. public class InsertPIC {

  32.     public static void main(String[] args) {
  33.      
  34.      try {
  35.       Connection conn = DBUtil.getConnection();
  36.    InputStream is = new FileInputStream(new File("D:\\zz.jpg"));
  37.       Boolean b=Insert(conn,is);
  38.       System.out.println(b);
  39.       conn.commit();
  40.      } catch (FileNotFoundException e) {
  41.    e.printStackTrace();
  42.    e.getMessage();
  43.   } catch (SQLException e) {
  44.    // TODO Auto-generated catch block
  45.    e.printStackTrace();
  46.   }
  47.   
  48. }
  49. public static boolean Insert(Connection con,InputStream is){
  50.   try {
  51.    PreparedStatement ps = con.prepareStatement("update T_MEASURE_PIC SET PIC1=? where jlid='1'");
  52.    ps.setBinaryStream(1, is,is.available());
  53.    con.setAutoCommit(true);
  54.    int i =ps.executeUpdate();
  55.    if(i!=0){
  56.     System.out.println("true.I的值是:"+i);
  57.     return true;
  58.    
  59.    }else{
  60.    
  61.     System.out.println("false");
  62.     return false;
  63.    }
  64.    
  65.   } catch (SQLException e) {
  66.    e.printStackTrace();
  67.    e.getMessage();
  68.    return false;
  69.   } catch (IOException e) {
  70.    // TODO Auto-generated catch block
  71.    e.printStackTrace();
  72.    e.getMessage();
  73.    return false;
  74.   }
  75. }
  76. }
复制代码








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2