1. 程式人生 > >獲取SQL查詢結果集中的行數和列數

獲取SQL查詢結果集中的行數和列數

轉自http://cheneyph.iteye.com/blog/477829

在Java中,獲得ResultSet的總行數的方法有以下幾種。

第一種:利用ResultSet的getRow方法來獲得ResultSet的總行數

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 
ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
rset.last(); 
int rowCount = rset.getRow(); //獲得ResultSet的總行數

第二種:利用迴圈ResultSet的元素來獲得ResultSet的總行數

ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
int rowCount = 0; 
while(rset.next()) { 
   rowCount++; 
}

rowCount就是ResultSet的總行數。

第三種:利用sql語句中的count函式獲得ResultSet的總行數

ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName"); 
int rowCount = 0; 
if(rset.next()) { 
   rowCount=rset .getInt("totalCount "); 
}

rowCount就是ResultSet的總行數。

·                                *****************************************************************************************************************

·                                 Java中獲得ResultSet的總列數是非常簡單事情,因為Java中ResultSet提供了ResultSetMetaData工具類,ResultSetMetaData 是ResultSet的元資料的集合說明。

java獲得ResultSet總列數的程式碼如下:

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 
ResultSet rset = stmt.executeQuery("select * from yourtable"); 
ResultSetMetaData rsmd = rset.getMetaData() ; 
int columnCount = rsmd.getColumnCount();

columnCount 就是ResultSet的總列數。