我有一个类,我从数据库中获取结果集:
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
我这里没有收到任何数据。 这里也没有像.net这样的数据库,所以我可以使用...请关注 感谢
答案 0 :(得分:2)
while (resultset.next()) {
您已经阅读了此循环中ResultSet
的所有数据。
ResultSet
是一次性使用,仅向前查看数据;你只能迭代一次。