`

ResultSet.last()出错:对只转发结果集的无效操作:last

    博客分类:
  • java
阅读更多
java.sql.SQLException: 对只转发结果集的无效操作: last
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
at oracle.jdbc.driver.BaseResultSet.last(BaseResultSet.java:92)
at com.mt.connOracle.GetConnOracle.main(GetConnOracle.java:57)
Exception in thread "main"

经查询发现ResultSet.last()等等方法必须在   Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY );以这种方式打开结果集才可以使用该方法,

解决方法二就是:直接在sql中加入count(*)的记录方法,这样的效率是最高的,因为计算行数是在数据库中进行,所以当然快;

分享到:
评论

相关推荐

    java.sql.SQLException: 结果集已耗尽

    1. **循环遍历结果集时未正确检查结束条件**:最常见的情况是,程序员在for-each或while循环中遍历结果集,但没有在循环条件中检查`ResultSet.next()`的返回值。当`next()`返回false时,表示结果集已空,应停止遍历...

    javaResultSet常用方法.pdf

    1. ResultSet.TYPE_FORWARD_ONLY:指针只允许向前移动,不会受到其他用户对该数据库所作更改的影响。 2. ResultSet.TYPE_SCROLL_INSENSITIVE:指针可以前后移动,甚至可以进行特定定位,不会受到其他用户对该数据库...

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    具体而言,当使用`setFirstResult()`和`setMaxResults()`方法对查询结果集进行限制时,如果结果集被标记为只进(forward-only),则不支持这些操作,从而引发异常。这是因为只进结果集是为了提高性能而设计的,它...

    DmJdbcDriver18_DmJdbcDriver18_

    4. 处理结果:获取`ResultSet`对象,遍历查询结果。 5. 关闭资源:在操作完成后,记得关闭`ResultSet`、`Statement`和`Connection`,避免资源泄露。 DmJdbcDriver18支持JDBC的多种特性,如批处理、预编译的SQL语句...

    ResultSet

    例如,`resultSet.getInt(1)`或`resultSet.getString("columnName")`。 4. 遍历结果集:为了完整遍历ResultSet,你需要在while循环中使用next()方法,直到它返回false为止。示例代码如下: ``` while (resultSet....

    sqljdbc_6.0

    5. 处理结果:如果执行的是查询,可以获取ResultSet对象并遍历结果集。 6. 关闭资源:完成操作后,务必关闭Connection、Statement和ResultSet,以释放系统资源。 此外,JDBC 6.0版本可能引入了一些新特性,例如增强...

    只进结果集不支持请求的操作的“解决方法

    在这里,`ResultSet.TYPE_SCROLL_SENSITIVE`表示结果集是可滚动的,并且对外部更改敏感;`ResultSet.CONCUR_READ_ONLY`则表明只能读取数据。 2. **检查结果集特性**:在对结果集进行任何操作之前,最好先检查它...

    ResultSet_to_json.jar

    标题“ResultSet_to_json.jar”指的是一个Java应用程序,其主要功能是将数据库查询结果集(ResultSet)以及List等数据结构转换为JSON(JavaScript Object Notation)格式的字符串。JSON是一种轻量级的数据交换格式,...

    总结java程序中操作Oracle数据库的常用操作1

    6. 结果集(ResultSet):`executeQuery()`返回一个`ResultSet`对象,代表查询的结果。可以遍历它来获取每一行数据。 7. 数据处理:通过迭代`ResultSet`,使用`next()`方法移动到下一行,`getString()`, `getInt()`...

    java数据库连接ResultSet

    Java 数据库连接 ResultSet Java 数据库连接中的 ResultSet ...ResultSet 是 Java 数据库连接中一个非常重要的概念,它提供了对数据库中数据的访问和操作。正确地使用 ResultSet,可以提高数据库操作的效率和可靠性。

    Cloudera_ImpalaJDBC41_2.5.36.zip

    4. 处理结果:遍历`ResultSet`对象,获取查询结果: ```java while (rs.next()) { // 读取列值 Object col1Value = rs.getObject(1); // ... } ``` 5. 关闭资源:使用完毕后,记得关闭`ResultSet`、`...

    CallableStatement调用Oracle存储过程返回结果集(ResultSet).pdf

    在Java编程中,CallableStatement接口是用来执行SQL存储过程或函数的。在Oracle数据库中,存储过程可以接收输入参数、输出参数或两者...对于返回结果集的存储过程,可以利用ResultSet遍历每一行数据,获取所需的信息。

    My sql 驱动程序

    6. **处理结果**:如果你执行的是查询语句,可以使用`ResultSet`对象来遍历和处理返回的结果集。 7. **关闭资源**:在完成所有数据库操作后,记得关闭连接、Statement和ResultSet,以释放系统资源: ```java conn...

    Java网络数据库编程及其应用 (1).pdf

    5. java.sql.ResultSet 接口:提供对结果集进行处理的手段。 JDBC 的应用: 1. 电子商务:Java 网络数据库编程技术可以应用于电子商务平台的开发,实现数据存储和访问。 2. 动态网站:Java 网络数据库编程技术可以...

    java resultset常用方法

    - `rs.last()`:将光标定位到结果集的最后一行。 - `rs.beforeFirst()`:将光标定位到结果集的第一行之前。 - `rs.afterLast()`:将光标定位到结果集的最后一行之后。 ##### 2. 测试光标位置的方法 - `rs.isFirst()...

    ResultSet常用方法

    ResultSet是Java数据库连接(JDBC)...在创建Statement或PreparedStatement对象时,通过设置适当的参数(如`ResultSet.TYPE_SCROLL_INSENSITIVE`,`ResultSet.CONCUR_UPDATABLE`等)来创建可滚动和可更新的ResultSet。

    4-尚硅谷JDBC每日单词.docx

    7. ResultSet:结果集对象,用于存储查询结果。 JDBC核心类 1. java.sql.Connection:连接对象,用于建立与数据库的连接。 2. java.sql.Statement:语句对象,用于执行SQL语句。 3. java.sql.PreparedStatement:预...

    mybatis+jdbc的jar包

    - ResultSet:存储查询结果,提供了遍历结果集的方法。 - ResultSetMetaData:提供关于ResultSet列的信息,如列名、类型等。 在实际开发中,MyBatis与JDBC的结合使用步骤如下: 1. 引入依赖:确保在项目中添加了...

Global site tag (gtag.js) - Google Analytics