用 JDBC 下達 SQL 查詢指令,取得 ResultSet 之後,有時我們會想先知道合乎查詢條件 的 record 總筆數,再去撈取真正的資料。 原以為透過 getFetchSize() 可取得這個數字,但是 debug 時才發現,原來它傳回的不是 「合乎查詢條件的 record 總筆數」,而是一種類似「record buffer 容量」的數字。 如果真的要取得 result set 的 record 總筆數,可視情況需要採用以下其中各種方法: 1. ResultSet rs = st.executeQuery("SELECT COUNT(*) from TestTable"); rs.next(); int count = rs.getInt(1); //get total rows; 但要注意兩階段之間資料會不會有異動。 2. 取得 ResultSet 之後,以迴圈累計資料個數: int count = 0; while (rs.next()) { ++count; //… } 3. 取得 scrollable 的 ResultSet 之後,將游標移到最後一筆資料: int count; if (rs.last()) count = rs.getRow(); else count = 0; rs.beforeFirst(); // 或 rs.first(); //回到第一個ResultSet
文章標籤
全站熱搜
創作者介紹
創作者 iamferrari 的頭像
iamferrari

愛無所不在

iamferrari 發表在 痞客邦 留言(0) 人氣(21,889)