Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中获取结果集的长度或大小_Java_Jdbc - Fatal编程技术网

如何在java中获取结果集的长度或大小

如何在java中获取结果集的长度或大小,java,jdbc,Java,Jdbc,我想知道执行特定查询后结果集中有多少行 ResultSet rs = ps.executeQuery(); 如何获得rs的大小??? 通过执行while循环,提前thanx: int size=0; while (rs.next()) { size++; } 如果只需要结果集中的行数,可以执行以下操作: int size= 0; if (rs != null) { rs.beforeFirst(); rs.last(); size = rs.getRow

我想知道执行特定查询后结果集中有多少行

ResultSet rs = ps.executeQuery();
如何获得rs的大小??? 通过执行while循环,提前thanx

int size=0;
while (rs.next()) {
    size++;
}

如果只需要
结果集中的行数,可以执行以下操作:

int size= 0;
if (rs != null)   
{  
  rs.beforeFirst();  
  rs.last();  
  size = rs.getRow();  
}  

您不需要迭代它并计算行数。您可以尝试以下简单的方法

boolean b = rs.last();
int numberOfRecords = 0;
if(b){
    numberOfRecords = rs.getRow();
}

这只能保证对可滚动的结果集有效,当调用
beforeFirst()
last()
时(尽管有些实现不这样做),仅键入forward-only结果集应该抛出一个
SQLException
,这意味着通过网络读取整个表,然后丢弃数据,相反,只执行count(*)sql查询要好得多