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这个类是用来查看此结果集的基本信息,如一共有多少列 具体的还是要看看文档

美得云(20元)香港特价将军澳CTG+CN2云服务器

美得云成立于2021年,是一家云产品管理服务商(cloud)专业提供云计算服务、DDOS防护、网络安全服务、国内海外数据中心托管租用等业务、20000+用户的选择,43800+小时稳定运行香港特价将军澳CTG+CN2云服务器、采用高端CPU 优质CN2路线 SDD硬盘。香港CTG+CN22核2G3M20G数据盘25元点击购买香港CTG+CN2​2核2G5M30G数据盘39元点击购买香港CTG+CN...

6元虚拟主机是否值得购买

6元虚拟主机是否值得购买?近期各商家都纷纷推出了优质便宜的虚拟主机产品,其中不少6元的虚拟主机,这种主机是否值得购买,下面我们一起来看看。1、百度云6元体验三个月(活动时间有限抓紧体验)体验地址:https://cloud.baidu.com/campaign/experience/index.html?from=bchPromotion20182、Ucloud 10元云主机体验地址:https:...

Hostodo:4款便宜美国vps七折优惠低至$13/年;NVMe阵列1Gbps带宽,免费DirectAdmin授权

hostodo怎么样?快到了7月4日美国独立日,hostodo现在推出了VPS大促销活动,提供4款Hostodo美国独立日活动便宜VPS,相当于7折,低至$13/年,续费同价。Hostodo美国独立日活动结束时间不定,活动机售完即止。Hostodo商家支持加密数字货币、信用卡、PayPal、支付宝、银联等付款。Hostodo美国独立日活动VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个...

resultsetmetadata为你推荐
旺旺群发淘宝怎样旺旺群群发pat是什么格式怎么能把常用格式的图片转换成PAT格式的呀~腾讯合作伙伴大会腾讯位置服务是什么?gbk内码Gbk内码查询idataparameterweighting parameter是什么意思windows7中文语言包windows7英文改中文 windows英文版怎么安装中文语言包driversbackup为什么电脑开机时一直进backup system邮政网关如何注销中国邮政支付网关网上账号data什么意思data是什么文件夹可以删除吗flv转avi如何把flv转成avi
花生壳域名贝锐 fastdomain unsplash 2017年黑色星期五 国外空间 500m空间 howfile 柚子舍官网 hostloc 免费高速空间 metalink in域名 免费邮件服务器 免费外链相册 备案空间 云营销系统 免费网络 申请免费空间 后门 杭州电信宽带 更多