【发布时间】:2021-06-25 20:59:08
【问题描述】:
这是用eclipse编写的jdbc代码。我只是想将查询结果存储到 ResultSet rs 并将其添加到字符串名称。但是在执行下面的代码时,我遇到了 Exhausted Resultset 错误。
import java.sql.*;
public class DemoClass{
public static void main(String args[]) throws Exception{
String query = "SELECT name FROM Emp WHERE rollno=1";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "Subhro", "Kabiraj");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
rs.next();
String name = rs.getString("name");
System.out.println(name);
st.close();
con.close();
}
}
错误:
Exception in thread "main" java.sql.SQLException: Exhausted Resultset
at ojdbc6@11.2.0.4/oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:1270)
at ojdbc6@11.2.0.4/oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:498)
at DemoClass.main(DemoClass.java:14)
注意:我的表不是空的。
在终端中创建的表:
SQL> INSERT INTO Emp(rollno, name) values(1, 'abc');
1 row created.
SQL> INSERT INTO Emp(rollno, name) values(2, 'def');
1 row created.
SQL> INSERT INTO Emp(rollno, name) values(3, 'ghi');
1 row created.
SQL> select * from Emp
2 ;
ROLLNO
----------
NAME
--------------------------------------------------------------------------------
1
abc
2
def
3
ghi
SQL> SELECT name FROM Emp WHERE rollno=1;
NAME
--------------------------------------------------------------------------------
abc
关于如何摆脱这个错误的任何建议。
【问题讨论】:
标签: java oracle exception jdbc resultset