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

AlphaVPS(€3.99/月)VPS年付15欧,AMD EYPC+NVMe系列起

AlphaVPS是一家保加利亚本土主机商(DA International Group Ltd),提供VPS主机及独立服务器租用等,数据中心包括美国(洛杉矶/纽约)、德国、英国和保加利亚等,公司办公地点跟他们提供的保加利亚数据中心在一栋楼内,自有硬件,提供IPv4+IPv6,支持PayPal或者信用卡等方式付款。商家提供的大硬盘VPS主机,提供128GB-2TB磁盘,最低年付15欧元起,也可以选择...

腾讯云CVM云服务器大硬盘方案400GB和800GB数据盘方案

最近看到群里的不少网友在搭建大数据内容网站,内容量有百万篇幅,包括图片可能有超过50GB,如果一台服务器有需要多个站点的话,那肯定默认的服务器50GB存储空间是不够用的。如果单独在购买数据盘会成本提高不少。这里我们看到腾讯云促销活动中有2款带大数据盘的套餐还是比较实惠的,一台是400GB数据盘,一台是800GB数据盘,适合他们的大数据网站。 直达链接 - 腾讯云 大数据盘套餐服务器这里我们看到当前...

随风云-内蒙古三线BGP 2-2 5M 25/月 ,香港CN2 25/月 ,美国CERA 25/月 所有云服务器均支持5天无理由退款

公司成立于2021年,专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、三线高防、香港等优质的IDC资源。公司一直秉承”以人为本、客户为尊、永续创新”的价值观,坚持”以微笑收获友善, 以尊重收获理解,以责任收获支持,以谦卑收获成长”的行为观向客户提供全面优质的互...

resultsetmetadata为你推荐
视频托管我想做一些游戏教学视频,放到网上收费该可以吗?短信营销方案有谁实验过短息营销,这个方法好吗?大家可以试试啊!youtube创始人李开复的创新工场是做什么的啊???举报非法网站如何举报非法网站?netbios协议tcp/ip、ipx/spx、netbios这三个通信协议的区别网站客服代码在线客服系统的代码添加到网站中,要怎么做?gbk内码Gbk内码查询怎么查微信注册时间怎么查看自己的微信号用了多久在线沟通网络沟通的问题有哪些短信套餐手机短信都有什么套餐
华为云服务 mobaxterm 柚子舍官网 中国电信测网速 爱奇艺vip免费试用7天 银盘服务是什么 七夕快乐英语 域名与空间 789 华为云建站 永久免费空间 wordpress中文主题 买空间网 宿迁服务器 服务器托管价格 免费的加速器 超低价 电脑主机启动不了 新浪轻博客 lighttpdwindows 更多