您的位置:首页 > 其它

ResultSet获取记录条数

2014-06-19 23:32 253 查看
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");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: