gpt4 book ai didi

java - SQLException : Exhausted Resultset oracle11g

转载 作者:行者123 更新时间:2023-12-02 07:57:49 27 4
gpt4 key购买 nike

我的代码是:

        Statement testSt = null;
ResultSet rset = null;
String query = "select jid FROM playjdbc WHERE jid=56";
try {
testSt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);

if (!testSt.execute(query)) {
System.out.println("jid doesnt exist!");
} else {

rset = testSt.getResultSet();
rset.first();
int jidValue = rset.getInt(1); // exception cause
System.out.println("jid is = " + jidValue);

}

}

rset.getInt(1) 行导致此异常,但是当我在数据库中运行相同的查询时,它返回了数据。

堆栈跟踪:

java.sql.SQLException: Exhausted Resultset
at oracle.jdbc.driver.ScrollableResultSet.getOracleObject(ScrollableResultSet.java:623)
at oracle.jdbc.driver.ScrollableResultSet.getInt(ScrollableResultSet.java:776)
at oracle.jdbc.driver.UpdatableResultSet.getInt(UpdatableResultSet.java:666)

最佳答案

如果语句返回更新计数或者语句的类型不返回 ResultSet,则来自 Statement.execute() 的 boolean 结果为 false。 Javadoc 的语言有些含糊。

您需要执行的不是rset.first()

if (rset.next())
{
int jidValue = rset.getInt(1); // exception cause
System.out.println("jid is = " + jidValue);
}

rset.first() 仅在移回结果集中非 FORWARD_ONLY 的第一行时使用。

关于java - SQLException : Exhausted Resultset oracle11g,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9388594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com