Java 获取结果集时出错
我有一个从数据库中获取resultset的类: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...");
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()) {