比较JDBC ResultSet中前一行的字段

时间:2014-01-30 03:18:45

标签: java jdbc resultset

我研究过找不到任何相关信息。我有一个结果集给了我不同的tagId,他们可以是同一个accountId的多个tagId。

while(result_set.next()){
   String tagId = result_set.getString("tagId");
   String accountId = result_set.getString("accoundId");
   // plenty of other fields being store locally
}

我需要存储第一个accoundId(正在完成)&每个后续迭代都将它与之前的Id进行比较,以检查是否相等(如果是相同的帐户)。

我尝试了这个并且它失败了,在第一次迭代后它们将继续相等&我必须是DUMB bc i,只要我在分配之前比较它们全局人(previousId)应该保持先前的值。

String previousId = null;  
while(result_set.next()){
   String tagId = result_set.getString("tagId");
   String accountId = result_set.getString("accoundId");
   previousId = accountId;
}

无论如何,我希望我的工作流程如下:

 while(result_set.next()){
     if (previousId = null) {
         // this would be the first iteration
     }
     else if (previousId.equals(accountId) {
        // go here
     } else {
      // go here
 }

}

1 个答案:

答案 0 :(得分:1)

如果我理解你,这应该有效..

String previousId = null;  
while(result_set.next()){
   String tagId = result_set.getString("tagId");
   String accountId = result_set.getString("accoundId");
   if (previousId == null) {
     // this would be the first iteration
   } else if (previousId.equals(accountId) {
    // go here
   } else {
     // go here
   }
   previousId = accountId;
}