resultsetmetadata(2)excuteQuery()方法返回的ResultSet(结果集)的分析,如获得字段个数、各字段名称

resultsetmetadata  时间:2021-06-17  阅读:()

如何通过JDBC取得数据库表结构信息

JDBC中有个ResultSetMetaData类就是用来获取数据表结构信息的。

... ResultSet rs = .... ResultSetMetaData rsmd = rs.getMetaData(); //ResultSetMetaData中有如下方法: getColumnCount(); 返回 ResultSet 中的列数。

getColumnName(int); 返回列序号为 int 的列名。

getColumnLabel(int); 返回此列暗含的标签。

isCurrency(int); 如果此列包含带有货币单位的一个数字,则返回 true。

isReadOnly(int); 如果此列为只读,则返回 true。

isAutoIncrement(int); 如果此列自动递增,则返回 true。

这类列通常为键,而且始终是只读的。

getColumnType(int); 返回此列的 SQL 数据类型。

这些数据类型包括

ResultSet怎么用

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

第一种:利用ResultSet的getRow方法来获得ResultSet的总行数 Java代码 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的总行数 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的总行数 Java代码 ResultSet rset = stmt.executeQuery("select * from yourTableName"); int rowCount = 0; while(rset.next()) { rowCount++; } ResultSet rset = stmt.executeQuery("select * from yourTableName"); int rowCount = 0; while(rset.next()) { rowCount++; }rowCount就是ResultSet的总行数。

第三种:利用sql语句中的count函数获得ResultSet的总行数 Java代码 ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName"); int rowCount = 0; if(rset.next()) { rowCount=rset .getInt("totalCount "); } ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName"); int rowCount = 0; if(rset.next()) { rowCount=rset .getInt("totalCount "); }rowCount就是ResultSet的总行数。

? Java中获得ResultSet的总列数是非常简单事情,因为Java中ResultSet提供了ResultSetMetaData工具类,ResultSetMetaData 是ResultSet的元数据的集合说明。

java获得ResultSet总列数的代码如下: Java代码 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(); 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数据库查询表和字段

可以用下面的方式获取,把tableName换成你的表名,有些数据库也可以直接使用Sql查询表列名 ResultSet resultSet = statement.executeQuery("select * from tableName"); ResultSetMetaData resultSetMetaData = resultSet.getMetaData(); for(int i=0; i怎么遍历ResultSet中的数据这个是servlet和java bean 一起写的,我是这么做的, String sql="select * from book"; try{ Connection con = MyConnection.getConnection(); Statement statement = con.createStatement(); ResultSet resultSet = statement.executeQuery(sql); // ResultSetMetaData rsmd = resultSet.getMetaData(); // int count = rsmd.getColumnCount(); while(resultSet.next()){ Book book = new Book(); book.setBookName(resultSet.getString("bookName")); book.setPrice(resultSet.getString("price")); book.setPicUrl(resultSet.getString("picUrl")); list.add(book); } }catch(SQLException e){ e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } 但是我不是很满意,有些总是弄不懂,是javaWeb的问题

(2)excuteQuery()方法返回的ResultSet(结果集)的分析,如获得字段个数、各字段名称

你看看JDK吗,里面肯定有resultset的所有方法的解释,基本是就是一些 getString(int a)或者getString("field"); getInt()......... 都是一些获取每一行的值。









还有一个类是 resultsetmetadata这个类是用来查看此结果集的基本信息,如一共有多少列 具体的还是要看看文档

易探云:香港大带宽/大内存物理机服务器550元;20Mbps带宽!三网BGP线路

易探云怎么样?易探云隶属于纯乐电商旗下网络服务品牌,香港NTT Communications合作伙伴,YiTanCloud Limited旗下合作云计算品牌,数十年云计算行业经验。发展至今,我们已凝聚起港内领先的开发和运维团队,积累起4年市场服务经验,提供电话热线/在线咨询/服务单系统等多种沟通渠道,7*24不间断服务,3分钟快速响应。目前,易探云提供香港大带宽20Mbps、16G DDR3内存、...

舍利云30元/月起;美国CERA云服务器,原生ip,低至28元/月起

目前舍利云服务器的主要特色是适合seo和建站,性价比方面非常不错,舍利云的产品以BGP线路速度优质稳定而著称,对于产品的线路和带宽有着极其严格的讲究,这主要表现在其对母鸡的超售有严格的管控,与此同时舍利云也尽心尽力为用户提供完美服务。目前,香港cn2云服务器,5M/10M带宽,价格低至30元/月,可试用1天;;美国cera云服务器,原生ip,低至28元/月起。一、香港CN2云服务器香港CN2精品线...

香港ceranetworks(69元/月) 2核2G 50G硬盘 20M 50M 100M 不限流量

香港ceranetworks提速啦是成立于2012年的十分老牌的一个商家这次给大家评测的是 香港ceranetworks 8核16G 100M 这款产品 提速啦老板真的是豪气每次都给高配我测试 不像别的商家每次就给1核1G,废话不多说开始跑脚本。香港ceranetworks 2核2G 50G硬盘20M 69元/月30M 99元/月50M 219元/月100M 519元/月香港ceranetwork...

resultsetmetadata为你推荐
大学生就业形势分析大学生今年的就业形势订房系统什么是酒店客房控制系统?网站客服代码请问怎么在网页里面加入在线客服系统的代码,代码要怎么获得?淘码除了爱码,现在哪个验证码平台还能用怎么查微信注册时间微信号用了多久,怎么知道在线沟通网络沟通的问题有哪些泛微协同办公系统谁能告诉我泛微OA,协同性是体现在哪几个方面的?泛微有哪些优势??particular教程AE的particular的particle设置微盟价格虚拟币的价格由什么决定微盟价格微盟渠道代理政策是怎么样的?
线路工具 创梦 softbank邮箱 双十一秒杀 可外链网盘 南通服务器 广州服务器 Updog 卡巴斯基免费试用版 空间购买 德讯 主机返佣 国内空间 国外代理服务器 碳云 symantec rsync dns是什么意思 泥瓦工 ddos攻击小组 更多