Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用迭代器迭代结果集?_Java_Sql_Jdbc - Fatal编程技术网

Java 用迭代器迭代结果集?

Java 用迭代器迭代结果集?,java,sql,jdbc,Java,Sql,Jdbc,我从数据库中得到了一个结果集“rs”。rs只包含一列。我想通过索引而不是所有行访问位于的行。现在,我知道我可以用它来迭代- while(rs.next()){ rs.getString("employee_name") } 但是,它不允许我选择行 实际上,我想取一行,加一个逗号,然后再加下一行。最后一个元素后没有逗号。所以,我需要迭代到最后第二行或第n-1行,并继续添加逗号。在那之后,我只需要将最后一行附加到字符串中,工作就完成了 试试下一个: String temp = ""; St

我从数据库中得到了一个结果集“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();
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个错误(现在,在我的评论后,你修复了它),而且你提出了一个糟糕的解决方案。谢谢你的建议如果你喜欢我的答案,请投票。我的答案比任何其他帖子都有效。谢谢