Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java select count()返回用尽的结果集_Java_Oracle_Jdbc - Fatal编程技术网

Java select count()返回用尽的结果集

Java select count()返回用尽的结果集,java,oracle,jdbc,Java,Oracle,Jdbc,我做一个简单的选择计数: woCount = db.select("SELECT count(foo) as bar from baz"); retval = woCount.rs.getInt("bar"); retval行引发耗尽的Resultset异常。那怎么可能呢?我的意思是,select count总是只返回一行,所以我不能得到一个空结果。我错过了什么 下面是select方法的实现。仅供参考,它在其他地方工作得非常好(SResultSet没有定义方法,只有字段): 即使在第一行之前,

我做一个简单的选择计数:

woCount = db.select("SELECT count(foo) as bar from baz");
retval = woCount.rs.getInt("bar");
retval行引发耗尽的Resultset异常。那怎么可能呢?我的意思是,select count总是只返回一行,所以我不能得到一个空结果。我错过了什么

下面是select方法的实现。仅供参考,它在其他地方工作得非常好(SResultSet没有定义方法,只有字段):

即使在第一行之前,您也需要一个
rs.next()
。新的
ResultSet
在第一行之前放置了一个光标。在读取任何内容之前,都需要进行高级处理。

即使在第一行之前,也需要一个
rs.next()
。新的
ResultSet
在第一行之前放置了一个光标。在读取任何内容之前,都需要进行高级处理。

rs.next()
应在读取之前进行检查。

rs.next()
应在读取之前进行检查

public static SResultSet select(String SQLQuery) throws DBException {
    Statement stmt = null;
    SResultSet crs = new SResultSet();
    try {
        Connection conn = getConnection();
        while (conn.isClosed()) {
            conn = getConnection();

        }
        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
        //stmt.setFetchSize(fetchSize);

        crs.rs = stmt.executeQuery(SQLQuery);
        crs.stmt = stmt;
    } catch (SQLException sqle) {
        logger.error("DB : Select(String SQLLQuery) : Error=" + sqle + " SQL=" + SQLQuery, sqle);
        throw new DBException("Application error while executing database query", sqle);
    }
    return crs;
}