在java中重用ResultSet对象
发布时间:2020-12-15 05:10:26 所属栏目:Java 来源:网络整理
导读:我正在做一个秋千项目.其中我使用jdbc odbc连接桥来访问SQL数据库中的数据.我使用以下代码 try { Class.forName("sun.jdbc.odbc.JdbcodbcDriver"); Connection con=DriverManager.getConnection("Jdbc:Odbc:dsn"); Statement st=con.createStatement(); Resu
我正在做一个秋千项目.其中我使用jdbc odbc连接桥来访问SQL数据库中的数据.我使用以下代码
try { Class.forName("sun.jdbc.odbc.JdbcodbcDriver"); Connection con=DriverManager.getConnection("Jdbc:Odbc:dsn"); Statement st=con.createStatement(); ResultSet rs=st.executeQuery("select * from temp"); int count c=0; while(rs.next()) { c++; } } catch(Exception ex) { ex.printStackTrace(); } 在while循环之后的上面的代码中,如果我再次使用结果集对象,那么它会在结果集关闭时抛出异常.是否有任何其他对象而不是结果集以在断开连接模式下从数据库中获取数据. 解决方法
结果集不包含结果,它是结果中的一种迭代器,仍然在数据库中(或在驱动程序的缓存中).
所以这完全正常. 如果要在断开连接后保留结果列表,只需将它们复制到具体列表中,例如ArrayList.这意味着您必须在复制时对列进行解释(即使用getInt或getString或getBinaryStream并获取内容等). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |