java获取SQL查询结果集中的行数和列数

http://cheneyph.javaeye.com/blog/477829

         Java中,获得ResultSet的总行数的方法有以下几种。

第一种:利用ResultSetgetRow方法来获得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的总列数是非常简单事情,因为JavaResultSet提供了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的总列数。

Java中,可以使用JDBC(Java Database Connectivity)来执行SQL查询,包括统计行数的查询。统计行数通常会使用`COUNT()`函数,这是SQL中的一个聚合函数,用于统计满足特定条件的记录数。以下是一个使用JDBC执行`COUNT()`查询的例子: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class CountRowsExample { public static void main(String[] args) { // 数据库URL,用户名和密码 String url = "jdbc:mysql://localhost:3306/数据库名"; String user = "用户名"; String password = "密码"; // 加载驱动 try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); return; } // 建立连接 try (Connection conn = DriverManager.getConnection(url, user, password)) { // SQL查询语句,统计特定表中的行数 String sql = "SELECT COUNT(*) FROM 表名"; // 创建PreparedStatement try (PreparedStatement pstmt = conn.prepareStatement(sql)) { // 执行查询 ResultSet rs = pstmt.executeQuery(); // 处理结果集 if (rs.next()) { // 获取行数 int rowCount = rs.getInt(1); System.out.println("表中行数为: " + rowCount); } } } catch (Exception e) { e.printStackTrace(); } } } ``` 在上述代码中,你需要将`数据库名`、`用户名`、`密码`和`表名`替换成实际的数据库信息。这个例子首先通过`Class.forName()`加载MySQL的JDBC驱动,然后建立数据库连接。之后创建一个`PreparedStatement`来执行`SELECT COUNT(*) FROM 表名`的SQL语句,其中`表名`是你想要查询行数的表。执行查询后,从结果集`ResultSet`中读取计数值,该值存储在第一列(`rs.getInt(1)`)中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值