我有一段java代码,它可以做到这一点。
ResulSet rs = stmt.executeQuery();
while (rs.next()) {
.... //do regular processing
if (rs.last()) {
//do last record processing
}
}发布于 2009-04-22 00:28:43
您应该改用:isLast()。
请注意,并非所有JDCB驱动程序都支持此功能。显然,您必须在安装时对其进行检查。
大多数主流数据库都工作得很好。
修复后的代码应该如下所示。
if( rs.isLast() ) {
// do last record processing
}发布于 2009-04-22 00:31:31
就我个人而言,我会在循环之外声明从查询中检索到的变量,然后在循环之后执行“最后一条记录处理”。
ResulSet rs = stmt.executeQuery();
long primaryKey;
while (rs.next()) {
primaryKey = rs.getLong(1);
.... //do regular processing
}
// Do last record processing.
System.out.println("last primary key = " + primaryKey);发布于 2009-04-22 00:50:20
否: rs.last()实际上会将游标发送到ResultSet中的最后一行,这绝对不是您想要做的。您只能处理结果集中的最多2行(第一行和最后一行)。
https://stackoverflow.com/questions/775240
复制相似问题