Java 将本地文件保存到数据库

    public void Send(){
        try {
            FileInputStream fis = new FileInputStream(file);
            System.out.println(file);
            System.out.println(fis);
            String AttachID=null; //附件ID
            String sql="select newid() 'ID'";
            PreparedStatement pst=cn.prepareStatement(sql);
            ResultSet rs=pst.executeQuery();
            if(rs.next()){
                AttachID=rs.getString("ID").trim();
            }
            rs.close();
            pst.close();
            if(AttachID!=null){
                /*开启事务*/
                cn.setAutoCommit(false);
                /*插入附件表*/
                String sql1="insert into SESSION_ATTACHMENT values('"+ AttachID +"','"+ gbl_SessionID +"',?,getdate(),'"+ gbl_SenderID +"','"+ file.getName() +"')";
                PreparedStatement pst1=cn.prepareStatement(sql1);
                pst1.setBinaryStream(1, fis,(int)(file.length()));
                pst1.executeUpdate();
                pst1.close();
                /*插入附件接收者*/
                for(int i=0;i
  
  
                    //NODE_OBJECT no=(NODE_OBJECT) gbl_vtReceiver.get(i);
                    sql1="insert into SESSION_ATTACHMENT_RECEIVER (ATTACH_ID,SESSION_ID,RECEIVER) VALUES ('"+ AttachID +"','"+ gbl_SessionID +"','"+ gbl_vtReceiverID.get(i).toString() +"')";
                    pst1=cn.prepareStatement(sql1);
                    pst1.executeUpdate();
                    pst1.close();
                }
                cn.commit();
                cn.setAutoCommit(true);
                JOptionPane.showMessageDialog(this, "文件"+file.getName()+"发送成功!","提示",JOptionPane.INFORMATION_MESSAGE);
                this.dispose();
            }
        } catch (SQLException ex) {
            try {
                cn.rollback();
                cn.setAutoCommit(true);
            } catch (SQLException ex1) {
                Logger.getLogger(SEND_FILE.class.getName()).log(Level.SEVERE, null, ex1);
            }
            JOptionPane.showMessageDialog(this, "出错!原因:"+ex.getMessage(),"提示",JOptionPane.ERROR_MESSAGE);
            Logger.getLogger(SEND_FILE.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            JOptionPane.showMessageDialog(this, "出错!原因:"+ex.getMessage(),"提示",JOptionPane.ERROR_MESSAGE);
            Logger.getLogger(SEND_FILE.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值