使用迭代器迭代结果集?

时间:2013-05-28 02:24:49

标签: java sql jdbc

我从数据库中得到了一个结果集“rs”。 rs只包含一列。我想通过索引访问行而不是所有行。现在,我知道我可以用它来迭代 -

while(rs.next()){
   rs.getString("employee_name")
}

但是,它不允许我选择行。

实际上,我想连续一行,为它添加一个逗号,然后添加下一行。最后一个元素后面没有逗号。因此,我需要迭代到倒数第二行或第n-1行并继续添加逗号。之后,我只需要将最后一行追加到我的字符串中,然后完成工作。

2 个答案:

答案 0 :(得分:-1)

尝试下一个:

Set<String> set = new LinkedHashSet<String>();
while(rs.next()) {
    set.add(rs.getString("employee_name"));
}

Iterator<String> it = set.iterator();
StringBuilder sb = new StringBuilder();
while(it.hasNext()) {
    sb.append(it.next());
    if (it.hasNext()) {
        sb.append(",");
    }
}

String result = sb.toString();

答案 1 :(得分:-3)

String temp = "";

StringBuilder sb = new StringBuiler();

while(rs.next()){    
   sb.append(rs.getString("employee_name"));
   sb.append(",");
}

temp = sb.toString();
temp = temp.substring(0, temp.length()-1);