java - 未获取结果集中的所有行

标签 java resultset

我使用以下代码从结果集中的数据库获取数据:

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());   

Connection connection = DriverManager.getConnection(
                    "jdbc:oracle:thin:@host:1521:DB", "User","pass_01");
Statement statement = connection.createStatement();   
resultset = statement.executeQuery("select * from employee"); 
System.out.println("Records Exist "+resultset.next()); 
System.out.println(resultset.getRow());
while (resultset.next()) {
    System.out.println(resultset.getInt(1) + " " +
    resultset.getInt(2) + " " + 
    resultset.getInt(3) + " " + 
    resultset.getString(4));
}

但是尽管数据库表中有两行,但我只得到一行。我在这里缺少什么?

最佳答案

这是因为您在循环之前调用rs.next()。它返回一个 boolean 值,并且由于该语句,一行将失去打印的机会。

Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@host:1521:DB", "User","pass_01");
Statement statement = connection.createStatement();   
resultset = statement.executeQuery("select * from employee"); 
while (resultset.next()) {
    System.out.println(resultset.getInt(1) + " " +
    resultset.getInt(2) + " " + 
    resultset.getInt(3) + " " + 
    resultset.getString(4));
}

关于java - 未获取结果集中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17037239/

相关文章:

java - 多语言堆栈的集成测试(Java/MongoDB/RabbitMQ...)

java - 如何使用 java 在 mysql 中更新文件路径?

php - 获取结果集作为数组

java - DB2 Dialect 代替 H2Dialect

java - 如何修复SWT中按钮的顺序?

JAVA使用删除和插入语句调用存储过程

java - ResultSet.getString(1) 抛出 java.sql.SQLException : Invalid operation at current cursor position

java - 如何从结果集中获取计数?

java - 如何使用 Scanner user_input ResultSet 中的整数变量在 Java 中选择特定的 MySQL 行?

MDB 中 SpringBeanAutowiringInterceptor 的 java 配置