如何复制数据库ResultSet

Pri*_*den 2 java oracle jsp resultset

我想复制ResultSet一个JSP页面中的Oracle数据库.我认为一个简单的重新分配可以做到这一点,但似乎失败了.这是我的代码:

ResultSet rset;
ResultSet new_rset;

rset = alljobsBean.getStatus(conn,1,max ,min );
new_rset = rset;
Run Code Online (Sandbox Code Playgroud)

这是错的吗?还是有一种特殊的方式来复制ResultSet我不知道的s?

Bom*_*mbe 6

没有标准的方法来复制a ResultSet,缺少读取所有数据并将其存储在其他地方.原因是大多数ResultSet实现不会将所有结果存储在其中,而只是保持与数据库的连接,该数据库用于根据需要获取结果.


Vin*_*lds 5

new_rset = rset;不执行任何重复.它只是点new_rset到同一个对象rset指向,既new_rsetrset被堆上相同的对象仅仅是引用.

如果需要在JSP中复制ResultSet,请考虑使用包含其中所有数据的DTO,ResultSet以便不需要ResultSet在视图中保留对该引用的引用.使用DTO可以在读完后关闭连接ResultSet,同时可以在视图中继续访问SQL查询返回的数据.

您也可以考虑使用断开连接,RowSet而不是ResultSet如果您打算以类似的方式断开对数据的访问ResultSet,并且不必保留与数据库的连接.