我从数据库中得到了一个结果集“rs”。 rs只包含一列。我想通过其索引访问行,而不是所有行。现在,我知道我可以使用它迭代 -使用迭代器遍历结果集?
while(rs.next()){
rs.getString("employee_name")
}
但是,它不让我选择该行。
其实,我想要连续行,向它添加一个逗号,然后添加下一行。最后一个元素后面没有逗号。所以,我需要迭代到倒数第二或第n-1行并继续添加逗号。之后,我只需要将最后一行添加到我的字符串中,并完成作业。
我从数据库中得到了一个结果集“rs”。 rs只包含一列。我想通过其索引访问行,而不是所有行。现在,我知道我可以使用它迭代 -使用迭代器遍历结果集?
while(rs.next()){
rs.getString("employee_name")
}
但是,它不让我选择该行。
其实,我想要连续行,向它添加一个逗号,然后添加下一行。最后一个元素后面没有逗号。所以,我需要迭代到倒数第二或第n-1行并继续添加逗号。之后,我只需要将最后一行添加到我的字符串中,并完成作业。
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);
尝试了下:
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();
我认为concat和append可以在第一个循环内完成,所以我会更快地完成任务。该集合是好的,但是不需要,因为你丢弃它下面2行。 – lemil77
我想知道,如果像我们遍历数组,我们可以遍历一个结果。这里可能没有太大意义,但可能在别处有用。 –
是否要在结果集数据中设置逗号,还是其他内容? –
为什么你需要通过它的索引来访问一个列,使得从'resultSet'中检索到的那一列的行数是逗号分隔的字符串? – Lion