0

我有一个类,我从数据库中获取结果集:

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;
} 

在这个类中,我能够打印我在结果集中得到的数据。但是当我试图在另一个类中获得这个结果集时:

Classname obj= new Classname();
ResultSet tempResultSet = obj.GetDataFromDB();
System.out.println("Records Exist "+tempResultSet.next()); <-----false

我在这里没有得到任何数据。在java中也没有像.net一样的数据表,所以我可以使用它......请关注谢谢

4

1 回答 1

2
while (resultset.next()) {

ResultSet您已经从这个循环中 读取了所有数据。

ResultSet是数据的一次性、只进视图;你只能迭代一次。

于 2013-06-11T03:06:23.773 回答