int i = 0;
while (i < size) {
String s = username[i];
String sql4 = "select books1,books2 from " + uname + "a," + s + "b where " + uname + "a.books1=" + s + "b.books2";
ResultSet rs3 = con.createStatement().executeQuery(sql4);
System.out.println(sql4);
while (rs3.next()) {
count = rs3.getRow();
}
i++;
System.out.println(count);
运行此代码后,输出应为2,1,0,0
但输出是 2,2,2,2
。这是 i=0
最佳答案
使用ResultSet.last()
代替while循环。请参阅以下示例。
count = rs3.last() ? rs3.getRow() : 0;
代码的不良做法
此外,您的代码语句似乎很糟糕。您正在循环内执行查询,这会使程序的性能变得更差。您可以使用 COUNT
、JOIN
和其他技术来使用 SQL 查询,以更少的代码轻松高效地获得输出。
关于java - 在 for 循环中使用结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32863796/