java中如何获取ResultSet rs结果集中的条数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何获取ResultSet rs结果集中的条数?相关的知识,希望对你有一定的参考价值。

参考技术A

方法一:利用ResultSet的getRow方法来获得ResultSet的总行数

Java代码

ResultSet rs;   

rs.last(); //移到最后一行   

int rowCount = rs.getRow(); //得到当前行号,也就是记录数   

rs.beforeFirst(); //如果还要用结果集,就把指针再移到初始化的位置  

方法二:利用循环ResultSet的元素来获得ResultSet的总行数

Java代码

ResultSet rs;   

int rowCount = 0;    

while(rset.next())    

    

rowCount++;    

 

方法三:利用sql语句中的count函数获得ResultSet的总行数

Java代码

String sql = "select count(*) record_ from ( select * from yourtable t where t.column_ = 'value_' )";   

ResultSet rs = ps.executeQuery(sql);    

int rowCount = 0;    

if(rs.next())    

    

rowCount=rs.getInt("record_");    

我可以在 Java 中使用 resultset.getBoolean 在 SQL 中获取 Tinyint

【中文标题】我可以在 Java 中使用 resultset.getBoolean 在 SQL 中获取 Tinyint【英文标题】:Can I use resultset.getBoolean in Java to get Tinyint in SQL 【发布时间】:2015-05-21 18:27:55 【问题描述】:

是否可以使用 rs.getboolean 方法从 SQL 中获取 tinyint(0/1) 的值? 像这样:

while (rs.next()) 
    boolean noUse= rs.getBoolean(1);

如果这不起作用,我想你必须这样做:

while (rs.next()) 
    boolean noUse= rs.getByte(1)==1;

感谢您帮助我。

【问题讨论】:

【参考方案1】:

选项 1 应该可以正常工作,我也使用过。

while (rs.next()) 
boolean noUse= rs.getBoolean(1);

在mysql中,tinyint充当布尔值(但将物理值保存为0/1) 执行上述代码时,

如果字段值 = 0 那么 ;不使用=假 else if field value= 1 then ; noUse=true

【讨论】:

以上是关于java中如何获取ResultSet rs结果集中的条数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在java中获取Resultset的长度或大小[重复]

如何获取rs中有多少条结果

如何从java中的结果集中获取列名[重复]

手动将数据添加到 Java ResultSet

如何避免 ResultSet 是 Java 中的关闭异常?

如何在 Java 中使用 ResultSet 获取行数?