ResultSet的一个问题
如果我在查询数据的过程中,出现异常,ResultSet 会不会被创建,ResultSet 我要不要关闭啊?
------解决方案--------------------
ResultSet executeQuery() throws
SQLException ;
exception:SQLException if a database access error occurs or the SQL
statement
does not return a ResultSet object 最好如下:
Java code
[color=#FF0000][b]finally {
rs.close();
rs = null;
}[/b][/color]
------解决方案--------------------
关不了~因为那是null,所以不用! 这么写! if(result!=null) result.close();
------解决方案-------------------- 直接关掉connection就可以了 如果程序要求比较严谨的话 可以在关之前进行一下null判断 如楼上所说
------解决方案-------------------- 理论上是不用的,不过养成习惯总是好的。 Java code
finally {
try {
if (rst != null) {
rst.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
------解决方案-------------------- 探讨 理论上是不用的,不过养成习惯总是好的。 Java code finally { try { if (rst != null) { rst.close(); } } catch (SQLException e) { e.printStackTrace(); } }
------解决方案-------------------- 那就在捕获异常时,判断是否关闭,再根据结果来决定如何操作。
------解决方案--------------------
查询异常后 ResultSet 为 null; 个人认为 :每个都要关. 而且没有必要判断null 因为 出现了异常说明这个代码是错的. 必须要改修改的. 如果是由于. 网络中断,数据库被破坏 等 不可预测的错误导至 的异常 判断为null 也余事无补纯属个人观点 !!!
------解决方案-------------------- 引用楼主 yuchui 的帖子: 如果我在查询数据的过程中,出现异常,ResultSet 会不会被创建,ResultSet 我要不要关闭啊?
------解决方案-------------------- 探讨 理论上是不用的,不过养成习惯总是好的。 Java code finally { try { if (rst != null) { rst.close(); } } catch (SQLException e) { e.printStackTrace(); } }
------解决方案-------------------- 探讨 理论上是不用的,不过养成习惯总是好的。 Java code finally { try { if (rst != null) { rst.close(); } } catch (SQLException e) { e.printStackTrace(); } }
------解决方案-------------------- Java code
ResultSet rs = statement.executeQuery("select * from zhao");
if(rs!=null) {//這裡要判斷的!
rs.close();
}