Code Bye

关于数据库关闭操作顺序

 

一定要先关PreparedStatement对象和ResultSet对象,再关闭数据库吗?直接关闭数据库,会有什么隐患吗?


20分
一般对数据库的操作顺序
1  获取 Connection
2  获取 PreparedStatement 依附于 Connection
3  获取 ResultSet 依附于 PreparedStatement 
使用完毕后关闭时,可以按照3 -> 2 -> 1 的顺序关闭

也可以直接关闭2 或 1 
直接关闭2 ,则依附于2 的ResultSet 也同时被关闭, 不可再访问
直接关闭1 ,则依附于1 的PreparedStatement  和 ResultSet  也同时被关闭,都不可再访问

访问被关闭后的对象会有异常产生,具体异常信息忘记了,楼主可以写代码试一下。

引用 1 楼 magi1201 的回复:

一般对数据库的操作顺序
1  获取 Connection
2  获取 PreparedStatement 依附于 Connection
3  获取 ResultSet 依附于 PreparedStatement 
使用完毕后关闭时,可以按照3 -> 2 -> 1 的顺序关闭

也可以直接关闭2 或 1 
直接关闭2 ,则依附于2 的ResultSet 也同时被关闭, 不可再访问
直接关闭1 ,则依附于1 的PreparedStatement  和 ResultSet  也同时被关闭,都不可再访问

访问被关闭后的对象会有异常产生,具体异常信息忘记了,楼主可以写代码试一下。

你好,访问结束后,什么对象会有异常产生?那么,对于我的问题来说,直接关闭数据库,究竟有没有问题?有没有隐患?我试过直接关闭数据库,没出现问题,也不知道会有什么隐患。

引用 3 楼 u012718102 的回复:

你好,访问结束后,什么对象会有异常产生?那么,对于我的问题来说,直接关闭数据库,究竟有没有问题?有没有隐患?我试过直接关闭数据库,没出现问题,也不知道会有什么隐患。

1  获取 Connection
2  获取 PreparedStatement 依附于 Connection
3  获取 ResultSet 依附于 PreparedStatement 
使用完毕后关闭时,可以按照3 -> 2 -> 1 的顺序关闭

楼主先关闭PreparedStatement ,然后去遍历由PreparedStatement 产生的结果集 ResultSet 对象,然后可以看到异常信息。
直接关闭数据库,一般来讲,不会出现什么问题。不过,还是建议按照3 -> 2 -> 1 的顺序关闭
规范代码的书写,对于异常情况,方便查找异常信息,解决问题。

引用 4 楼 magi1201 的回复:
Quote: 引用 3 楼 u012718102 的回复:

你好,访问结束后,什么对象会有异常产生?那么,对于我的问题来说,直接关闭数据库,究竟有没有问题?有没有隐患?我试过直接关闭数据库,没出现问题,也不知道会有什么隐患。

1  获取 Connection
2  获取 PreparedStatement 依附于 Connection
3  获取 ResultSet 依附于 PreparedStatement 
使用完毕后关闭时,可以按照3 -> 2 -> 1 的顺序关闭

楼主先关闭PreparedStatement ,然后去遍历由PreparedStatement 产生的结果集 ResultSet 对象,然后可以看到异常信息。
直接关闭数据库,一般来讲,不会出现什么问题。不过,还是建议按照3 -> 2 -> 1 的顺序关闭
规范代码的书写,对于异常情况,方便查找异常信息,解决问题。

好的,谢谢,结贴。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于数据库关闭操作顺序