x:nextRow 操作用来定位至 x:select 或 x:procedureCall 操作生成的结果集中的下一行。在应用程序服务器上的内存中,对那些操作生成的结果集中的任何行进行高速缓存。将结果集中的其中一行视为当前行。缺省情况下,x:getColumn、x:update、x:delete 和 x:insert 针对当前行进行操作。x:select 或 x:procedureCall 操作完成后,将立即自动地定位至第一行(如果有的话)。使用此操作将移至第二行。同样,当第一次移至另一个结果集时,会自动地定位至它的第一行。
此操作提供行之间的相对移动。要移至绝对行号,请使用 jsp:setProperty 操作来设置 DBSelect 或 DBProcedureCall Bean 的 currentRow 属性。
此操作不会建立与数据库的连接。如果已使用 x:setColumn 操作或使用 scriptlet 在当前行中更改了任何列值,则 DBSelect Bean 将尝试在移动之前更新行。在大多数情况下,不会有活动的数据库连接,因此该尝试将失败。如果 x:nextRow 发生在 x:batch 之内,或者如果已在 scriptlet 中建立了连接,则可能会有活动的数据库连接。如果设置了任何列值,则正确的过程是在执行 x:nextRow 之前执行 x:updateRow。
<x:nextRow name = "target bean name" />
x:nextRow 操作具有下列属性: