java - 在 for 循环中使用结果集

标签 java jsp jdbc

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

的 sql 查询

最佳答案

使用ResultSet.last()代替while循环。请参阅以下示例。

count = rs3.last() ? rs3.getRow() : 0;

代码的不良做法

此外,您的代码语句似乎很糟糕。您正在循环内执行查询,这会使程序的性能变得更差。您可以使用 COUNTJOIN 和其他技术来使用 SQL 查询,以更少的代码轻松高效地获得输出。

关于java - 在 for 循环中使用结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32863796/

相关文章:

java - 使用 Mysql 为 Java 应用程序进行数据库镜像

sql - 在sql准备语句中使用LIKE子句,spring,SimpleJDBCTemplate

java - 为什么在 Windows 上运行 jstack 会出现 'unable to attach to 64 bit process' 错误?

java - 整数类型未按预期工作(Java)

java - 如何使用 Java/JDBC 将时间戳数组传递给 Postgres 函数?

java - 创建多个 InternalResourceViewResolver

java - ExtJS 图表的动态数据存储

java - 如何在 React Native 中重建 java 文件?

java - 使用 BouncyCaSTLe 进行简单的 HTTPS 查询

java - 在 JSP EL 中使用变量访问 Map