VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 630|回复: 5

数据库关闭疑问

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-2-15 22:30:02 | 显示全部楼层 |阅读模式
Connection con= DriverManager.getConnection(url,"123","123");
       Statement stmt = con.createStatement();
       ResultSet rs=stmt.executeQuery(sql);
       假设有很长的代码(20行吧)
       再假设这20行内的代码报出SQLException 或是其它结束
       rs.close
       stmt.close
       con.close
       上面三句都不会执行,就不能关闭连接
      

       怎么能又关了数据库所有连接 方法还向上抛出异常
       这个方法 throws SQLException
       try catch 块的话!太大了!!
      
回复

使用道具 举报

1

主题

19

帖子

14.00

积分

新手上路

Rank: 1

积分
14.00
发表于 2020-4-16 18:45:01 | 显示全部楼层
关闭时机可以有误
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-4-17 09:00:02 | 显示全部楼层
那样不对吧!关闭一定要有的吧
回复

使用道具 举报

1

主题

51

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-4-18 12:45:01 | 显示全部楼层
try{
      tx=session.beginTransaction();
          }catch(Exception ex){
      throw SQLException ;}
    finally{
         rs.close;
       stmt.close;
       con.close;

    }
回复

使用道具 举报

0

主题

14

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-4-18 16:15:01 | 显示全部楼层
try {
// Make DB Connection
// Do whatever you need
}
catch (SQLException e) {
// Do Exception handling
// throw e; // if you have to.
}
finally {
  if (DBConnection is still open)
    Close it.
  // Release all necessary resources.
}
回复

使用道具 举报

0

主题

9

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-5-18 16:30:02 | 显示全部楼层
楼上正解 搞个finally ,他想不close都不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表