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

如何获得JDBC中的行数?

姜弘化
2023-03-14
问题内容

我已经执行了JDBC查询以获取结果集。在遍历之前,我想快速找出返回了多少行。我如何才能做到这一点?

我正在使用Java 6,Oracle 11g和最新的Oracle JDBC驱动程序


问题答案:

您将不得不作为一个单独的查询来执行此操作,例如:

SELECT COUNT(1) FROM table_name

某些JDBC驱动程序可能会告诉您,但这是可选行为,更重要的是,该驱动程序可能还不知道。这可能是由于如何优化查询所致,例如,Oracle中的两个示例执行策略是尽快获取所有行或尽快获取第一行。

如果您执行两个单独的查询(一个查询,另一个查询),则需要在同一事务中执行它们。这在Oracle上可以很好地工作,但在其他数据库上可能会出现问题(例如,SQL
Server将显示您未提交的数据或阻止您进行外部未提交的更新,具体取决于您的隔离级别,而Oracle支持的隔离级别可为您提供事务一致的视图数据而不会阻止外部更新)。

通常,尽管有多少行并不重要。通常,这种查询是批处理的或分页的,并且您可以通过加载/处理的行的形式获得进度信息,并且可以(显然)检测到结果集的结尾。



 类似资料:
  • 问题内容: 我想计算一个文本区域中的行数,例如: 应该最多计数4行。基本上按一次Enter键即可将您转到下一行 以下代码无法正常工作: 无论有多少行,它始终为“ 1”。 问题答案: 我已经将line和lineCount方法实现为String原型: 显然,在IE9中split方法不会在字符串的末尾(或textarea的innerText属性)计算回车符和/或换行符,但在Chrome 22中会对其进行

  • 问题内容: 是否可以使用反射或其他魔术来获取方法的行号? 该方法可能在当前Stacktrace中。使用,可以获取一个的行号。但是,如果我只得到对象,该怎么办? 对于类->如何从java.lang.Class对象获取源文件名/行号,我发现了这一点,但是它对方法没有用。 问题答案: 在进行了一些研究之后,我想做同样的事情。您将需要添加javassist(我使用的是3.15.0-GA版本)。 给定以下类

  • 问题内容: 如何从SELECT语句的上一个结果行中获取值 如果我们有一个名为cardevent的表,并且有[ID(int),Value(Money)]行,并且其中有一些行,例如 很快… 如何进行一个查询,以获取每个行的ID,值和前一个行值,数据在其中显示如下 很快。 那么,有人可以帮助我获得针对此类问题的最佳解决方案吗? 需要查询帮助 问题答案: 您将不得不将表与自身连接,我不确定这是否是100%

  • 我不确定如何获得SQL执行所影响的行数。 我确实喜欢这样: 返回: (1)SQL数据操作语言(DML)语句的行计数,或(2)0表示不返回任何内容的SQL语句 啊! 我希望是: 从中提取第一个单词。字以空格或EOL行字符结束。 如果该单词(忽略大小写)是INSERT、UPDATE或DELETE,那么它是一个DML语句,并且的输出是相关的,否则的输出是无关的。 丑陋和容易出错。但这个问题唯一可能的解决

  • 问题内容: 在Java中,我们可以使用 如何在PHP中做到这一点?我已经知道了,但是它仅适用于对象。目前,我在Active Record中工作。我需要像这样的声明。 问题答案: 从PHP 5.5开始, 您可以通过 ClassName :: class 使用类名解析。 查看PHP5.5的新功能。 如果要在类方法中使用此功能,请使用 static :: class : 对于旧版本的PHP ,可以使用g