在Java中,如何通过在数据库得到的结果集得到表的列数和行数?

在Java中,如何通过在数据库得到的结果集得到表的列数和行数?,第1张

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

第一种:利用ResultSet的getRow方法来获得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的总行数。

(1)首先使用last()方法,将数据库游标定位到记录集的最后一行。

(2)使用getRow()方法,返回记录集最后一行的行索引。该索引就等于记录集所包含记录的个数,也就是记录集的行数。getRow()方法是在JDBC API 2.0中才定义的,在JDBC API 1.0中没有这个方法。

mysql里面提供了很多方法来获取表结构和表列:如下方法

获得某表所有列的信息:

String sql = select * from tname//tname为某一表名

Connection conn = ....

Statement st = conn.createStatement()

ResultSet rs = st.rs = st.executeQuery(sql)

ResultSetMetaData rsmd = rs.getMetaData()

int colcount = rsmd.getColumnCount()//取得全部列数

for(int i=0i<colcounti++){

String colname = rsmd.getColumnName(i)//取得全部列名

}

以上为某表字段具体查询,如果是查询表的信息,如在mysql服务器上那样的查询结果的话,可以用一下代码:

ResultSet.executeQuery("show tables")可以的到所有的表信息。

ResultSet.executeQuery("describe tname")可以得到表的字段信息。//tname为表名

查出来放到list 然后list.size()

Query query = getSession().createSQLQuery(sql).

List list = query.list()

System.out.println("行数"+list.size())


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10011974.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存