JDBC中的ResultSet API没有直接获取记录条数的方法,现介绍几个:
方法一:利用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_");
}
ResultSet rs = stmt.executeQuery("select count(*) from table");
rs.next();
int i = rs.getInt(1);