Java 用迭代器迭代结果集?
我从数据库中得到了一个结果集“rs”。rs只包含一列。我想通过索引而不是所有行访问位于的行。现在,我知道我可以用它来迭代-Java 用迭代器迭代结果集?,java,sql,jdbc,Java,Sql,Jdbc,我从数据库中得到了一个结果集“rs”。rs只包含一列。我想通过索引而不是所有行访问位于的行。现在,我知道我可以用它来迭代- while(rs.next()){ rs.getString("employee_name") } 但是,它不允许我选择行 实际上,我想取一行,加一个逗号,然后再加下一行。最后一个元素后没有逗号。所以,我需要迭代到最后第二行或第n-1行,并继续添加逗号。在那之后,我只需要将最后一行附加到字符串中,工作就完成了 试试下一个: String temp = ""; St
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();
Set Set=newlinkedhashset();
while(rs.next()){
set.add(rs.getString(“员工姓名”);
}
Iterator it=set.Iterator();
StringBuilder sb=新的StringBuilder();
while(it.hasNext()){
某人附加(它的下一个());
if(it.hasNext()){
某人加上(“,”);
}
}
字符串结果=sb.toString();
我想知道我们是否可以像迭代数组一样迭代resultset。它在这里可能没有多大意义,但在其他地方可能有用。是否要在结果集数据中设置逗号,或者其他什么?为什么需要通过索引访问列,以使从resultSet
检索到的该列的行数成为逗号分隔的字符串?允许您访问ResultSet
中的特定行,并且有一些方法,例如isLast()
,似乎就是您要查找的方法。您对Javadoc有什么疑问吗?我认为concat和append可以在第一个循环中完成,所以我会做得更快。集合是可以的,但是没有必要,因为您在.PSR下面的两行中放弃了它,所以在发布这样的答案之前,您应该阅读一些Java。最初有3个错误(现在,在我的评论后,你修复了它),而且你提出了一个糟糕的解决方案。谢谢你的建议如果你喜欢我的答案,请投票。我的答案比任何其他帖子都有效。谢谢