如何获得结果集中的上一项?

Mah*_*ine 4 java mysql netbeans

假设我们有这个查询:

ResultSet result = ("select * from table_name");
Run Code Online (Sandbox Code Playgroud)

现在我们可以从这个表格中获得结果信息

while(result.next())
{
  .
  .
  .
}
Run Code Online (Sandbox Code Playgroud)

但是在这种形式下我们可以继续前进.现在我想知道结果是否有可能恢复?

例如,我们获取信息name='sam', fname='nic'.接下来我想回去再次获取这些信息.

可能吗?

Pab*_*ruz 14

是的,JDBC支持这一点.您需要一个可滚动的结果集.

像这样的东西:

Statement st = conn.createStatement(
   ResultSet.TYPE_SCROLL_INSENSITIVE, 
   ResultSet.CONCUR_READ_ONLY
);
ResultSet rs = st.executeQuery("select * from table_name");
Run Code Online (Sandbox Code Playgroud)

然后,您只需使用ResultSet对象rs在结果中移动:

  1. 第一
  2. 绝对
  3. 持续
  4. 下一个
  5. 以前

方法可以帮助您导航.

  • @WallTearer取决于驱动器的实现。但是我认为它们是快速而聪明的(除非需要,否则不会将所有内容都转移到客户端)。 (2认同)