如果先调用stmt->close(),再调用rset->close(),可能会出现无法预料的结果。
因为,大多数查询的ResultSet是由Statement调用execute或executeQuery()产生的。它相当于是创建ResultSet对象的工厂。
因此,使用时,最好先关闭ResultSet,再关闭Statement,再关闭Connection。
如果你还不解,可以将Oracle的jdbc驱动库,反编译一下,看看它的源代码。还是能看到Statement接口的实现和ResultSet的实现类中,拥有很多共同的成员。