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

Nocser:马来西亚独立服务器促销$60.00/月

Nocser刚刚在WHT发布了几款促销服务器,Intel Xeon X3430,8GB内存,1TB HDD,30M不限流量,月付$60.00。Nocser是一家注册于马来西亚的主机商,主要经营虚拟主机、VPS和马来西亚独立服务器业务,数据中心位于马来西亚AIMS机房,线路方面,AIMS到国内电信一般,绕日本NTT;联通和移动比较友好,联通走新加坡,移动走香港,延迟都在100左右。促销马来西亚服务器...

ATCLOUD-KVM架构的VPS产品$4.5,杜绝DDoS攻击

ATCLOUD.NET怎么样?ATCLOUD.NET主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解析、域名注册、SSL证书等海外网站建设服务。 其大部分数据中心是由OVH机房提供,其节点包括美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国以及新加坡。 提供超过480Gbps的DDoS高防保护,杜绝DDoS攻击骚扰,比较适合海外建站等业务。官方网站:点击访问ATCLOUD官网活...

DiyVM:50元/月起-双核,2G内存,50G硬盘,香港/日本/洛杉矶机房

DiyVM是一家比较低调的国人主机商,成立于2009年,提供VPS主机和独立服务器租用等产品,其中VPS基于XEN(HVM)架构,数据中心包括香港沙田、美国洛杉矶和日本大阪等,CN2或者直连线路,支持异地备份与自定义镜像,可提供内网IP。本月商家最高提供5折优惠码,优惠后香港沙田CN2线路VPS最低2GB内存套餐每月仅50元起。香港(CN2)VPSCPU:2cores内存:2GB硬盘:50GB/R...

resultsetmetadata为你推荐
chartboostpsychrometric chart有什么用instagram电脑版苹果macbook pro做摄影拍照后期有什么优势吗?为什么很多摄影师用它?和thinkpad W系列比呢?短信营销方案中秋节,国庆节短信营销方案avc是什么格式手机avc格式怎么剪辑pat是什么格式怎么能把常用格式的图片转换成PAT格式的呀~qq管家官网腾讯手机管家官网防盗页面地址是什么?知识百科cursorlocation在ENVI中双击遥感图像出来个CURSOR LOCATION/value对话框。下面有个LL : 31?6'21.84"N, 117?9'11.78"E淘码除了爱码,现在哪个验证码平台还能用flash序列号flash激活序列号是?backupexec如何在Backup Exec 2012中添加要备份的Windows服务器
网通vps 草根过期域名 国外空间服务商 华为云主机 长沙服务器 丹弗 ibox官网 我爱水煮鱼 165邮箱 服务器维护方案 ca187 贵阳电信测速 免费蓝钻 免费php空间 阿里云邮箱个人版 闪讯网 贵州电信 脚本大全 美国代理服务器 此网页包含的内容将不使用安全的https 更多