ResultSet獲取記錄條數


 

JDBC中的ResultSet API沒有直接獲取記錄條數的方法,現在介紹幾個可以獲得結果集記錄條數的方法。

 

給定下面的代碼,想要獲取查詢結果集的記錄條數

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");
}

 

 

 

 

 

原文鏈接:https://blog.csdn.net/magi1201/article/details/32370659


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM