ResultSet獲取記錄條數
阿新 • • 發佈:2019-01-09
JDBC中的ResultSet API沒有直接獲取記錄條數的方法,現在介紹幾個可以獲得結果集記錄條數的方法。
PS:如果還要用結果集,就把指標再移到初始化的位置 rs.beforeFirst(); /
方法三:利用SQL語句來查詢
給定下面的程式碼,想要獲取查詢結果集的記錄條數
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/sampledb";
Connection conn = DriverManager.getConnection(url, "root", "root");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select * from worker");
方法一:利用ResultSet的getRow方法來獲得ResultSet的總行數
ResultSet rs = st.executeQuery("select * from worker");
rs.last(); // 將游標移動到最後一行
int rowCount = rs.getRow(); // 得到當前行號,即結果集記錄數
PS:如果還要用結果集,就把指標再移到初始化的位置 rs.beforeFirst(); /
方法二:利用迴圈ResultSet的元素來獲得ResultSet的總行數
ResultSet rs = st.executeQuery("select * from worker"); int rowCount = 0; while(rs.next()) { rowCount++; }
方法三:利用SQL語句來查詢
String sql = "select count(*) rec from (select * from worker) ww";
ResultSet rs = st.executeQuery(sql);
int rowCount = 0;
while (rs.next()) {
rowCount = rs.getInt("rec");
}