Java 获取结果集时出错

Java 获取结果集时出错,java,resultset,Java,Resultset,我有一个从数据库中获取resultset的类: public ResultSet GetDataFromDB() { ResultSet resultset = null; try { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); System.out.println("Connecting to the database...");

我有一个从数据库中获取resultset的类:

public ResultSet GetDataFromDB() {
    ResultSet resultset = null;
    try {   
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());   
        System.out.println("Connecting to the database...");   
        Connection connection = DriverManager.getConnection(
                "jdbc:oracle:thin:@host:1521:DBname", "user123","pass123");
        Statement statement = connection.createStatement();   
        resultset = statement.executeQuery("select * from tablename"); 

        while (resultset.next()) {
            System.out.println(resultset.getInt(1) + " " +
            resultset.getInt(2) + " " + 
            resultset.getInt(3) + " " + 
            resultset.getString(4));
        }
        // statement.close();   
        //connection.close(); 
    } catch (Exception e) {   
        System.out.println("The exception raised is:" + e);   
    }

    return resultset;
} 
在这个类中,我能够打印我在resultset中获得的数据。但当我尝试在另一个类中获取此结果集时:

Classname obj= new Classname();
ResultSet tempResultSet = obj.GetDataFromDB();
System.out.println("Records Exist "+tempResultSet.next()); <-----false
Classname obj=new Classname();
ResultSet tempResultSet=obj.GetDataFromDB();
System.out.println(“记录存在”+tempResultSet.next());
您已经从该循环中的
ResultSet
读取了所有数据


ResultSet
是数据的一次性、仅向前查看;您只能迭代一次。

谢谢。。这有点奇怪,我们只能用一次:)@Aquarius24:No;这并不奇怪<代码>结果集
不将结果存储在内存中;相反,它直接从数据库中对它们进行流式处理。否则,它将消耗大量内存。好的,但是应该有一个“datatable”类的组件,这样我们可以随时使用它,并且可以多次使用它。
while (resultset.next()) {