当前位置: 首页 > 面试题库 >

rs.last()对仅向前结果集给出无效操作:last

微生宝
2023-03-14
问题内容

我正在尝试通过以下方式获取结果集的行数:

rs.last();
int row_count = rs.getRow();

但我收到一个Invalid operation for forward only resultset : last错误。结果集从Oracle
10g数据库获取其数据。

这是我建立连接的方式:

    Class.forName("oracle.jdbc.driver.OracleDriver");
    String connectionString = "jdbc:oracle:thin:@" + oracle_ip_address + ":" + oracle_db_port + ":" + oracle_db_sid;
    Connection conn = DriverManager.getConnection(connectionString, oracle_db_username, oracle_db_password);

问题答案:

ResultSet.last()和其他“绝对索引”查询操作仅在结果集 可滚动 时可用;否则,您只能在仅 转发 结果集中进行一个接一个的迭代

以下示例(来自javadocs)演示了如何创建scrollable
ResultSet

Statement stmt = con.createStatement(
    ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY
);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");

请记住,使用滚动查询会对性能产生影响。如果此特定目标ResultSet仅是获取其最后一个值,请考虑优化查询以仅返回该结果。



 类似资料:
  • 问题内容: 在Zend应用程序中,我使用并从MySQL数据库中检索数据数据,如下所示。 型号- 查看- 我只是迭代$ rowset并在视图中回显。但是,当尝试回声两次或更多次时,它将产生错误。单次迭代有效。 此结果是仅向前结果集,不支持向前移动后调用rewind() 我可以通过将其加载到视图中的另一个数组来解决它。但这是最好的方法吗?还有其他方法可以解决吗? 编辑- 解决了问题。 问题答案: 您收

  • 我做了一个简单的科学测验java应用程序,有4个框架:登录、菜单、测试和结果。 前三个帧工作正常,但当我单击显示结果时,它显示错误。这是我在Test JFrame中的代码。如果您愿意,我也可以发送其他帧的编码 这是我的错误 测试JFrame编码

  • 我有这样的代码 我试图与kategorikode_kategori,但出现错误,请帮助我

  • 我刚刚开始学习现代OpenGL,我在渲染三角形时遇到了麻烦。当我启动程序时,当我尝试调用时,它会给出一个无效操作异常。从控制台日志的外观来看,着色器的设置没有错误,程序也经过了验证。很多代码都是从本教程中复制的。我已经搜索了几个小时,无法找出导致问题的原因。如果我错过了一些基本的东西,我真的很抱歉。 java程序: 顶点着色器: 和片段着色器:

  • 问题内容: 我想做的是: 接受用户名(uname)和密码(passw)作为用户输入。 使用,检索唯一的元组,数据库中的用户名和用户适合的用户名均指向该元组。该元组将包含用户名和密码。 如果用户提供的密码也适合数据库中的密码,则显示以下信息:两种认证均正确,否则其中一种错误。 除一种情况外,一切正常。当用户名本身错误时,mysql将根本找不到该属性,并且会出现此错误: 代码是: 我有什么办法可以一次

  • 我试图为通过html形式的文本框检索的查询编写一个JUnit测试。文本检索已经过测试并有效,但我的单元测试失败了。我使用了两个相关的类:QueryController和QueryControlllerTest。我一直在玩弄我在这两个类中关闭的时间和内容,并不断得到错误:结果集关闭后不允许操作。 QueryController测试。Java语言 QueryController。Java语言