ResultSet怎么用

发布时间:2024-08-05 08:19:46 来源:君肯网

在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 = 0while(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 = 0if(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怎么用

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的总列数。

如何获取ResultSet的行数和列数

结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等。

ResultSet是一个结果集,怎么获得里面的数据

当我们执行数据库查询返回一个ResultSet的时候,很多情况下我们需要知道这个ResultSet的大小,即它的行数和列数。我们知道它的列数可以通过resultSet.getMetaData().getColumnCount()很容易地得到,然而,java API没有提供直接访问ResultSet行数的接口。

这个时候,有三个办法可以解决:

1.改用select count语句,然后直接从ResultSet里面获取结果:try{Statement statement = connection.createStatement()

ResultSet resultSet = statement.executeQuery(”select count(*) as rowCount from tableName”)

resultSet.next()introwCount = resultSet.getInt(”rowCount”)}catch(Exception e) {//TODO: handle exception

e.printStackTrace()}但是,我们执行数据库查询不光要知道结果的行数,往往接下来还要用到查询结果。如果用此方法,还需要再执行一次select语句,才能得到想要的结果集,这样,就多了一次数据库查询,大大降低了执行速度。

2.遍历Resultset,用一个变量记录行数。代码如下:intcount = 0try{while(resultSet.next()){

count = count + 1}}catch(SQLException e1) {//TODO Auto-generated catch block

e1.printStackTrace()}这样获取的count值就是结果集的行数。然而,这种方法同第一种方法的问题一样,不能再使用结果集了。因为这时候指针已经移动到结果集的外面了,不再指向任何记录。

3.知道了第二种方法中问题的原因,我们就知道如何更好地解决这个问题了。第二种方法的问题在于返回的结果集中的指针不能自由移动,幸好java为我们提供了选择,可以让我们创建指针可以自由移动的结果集,所需要做的只有一件事,就是在创建Statement的时候,加上两个参数:try{//Statement statement = connection.createStatement()

Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

ResultSet resultSet = statement.executeQuery(”select * from ” + tableName)}catch(Exception e) {//TODO: handle exception

e.printStackTrace()}这样获得的结果集,指针就可以在其中自由移动。然后,就可以用如下方法获取结果集的行数:introwCount = 0try{resultSet.last()

rowCount = resultSet.getRow()}catch(Exception e) {//TODO: handle exception

e.printStackTrace()}其中resultSet.last()就是将指针移动到结果集的最后一条记录;然后用resultSet.getRow()获取指针当前所在的行号(从1开始)

如果接下来你还要使用结果集,别忘了将指针移到第一行:

resultSet.first()

既然结果集是可滚动的,当然可以用absolute()方法访问指定行号的记录:

其中row参数可正可负,具体含义查一下ResultSet的absolute()方法就知道了。

只有一个参数的话,百if(rs.next())先判断一下,然后就看你存放的是什么类型的数据了,那个src是String类型的还是URL类型的?rs.getString(1)或者rs.getURL(1)来得到该数据的引用。在ResultSet中取数据之前都要使用rs.next()方法,一个数据的话就是if(rs.next())多个数据的话就是while(rs.next())。每次读出数据后结果集的游标自动下移。鉴于你所说只有一个参数,那么列的度索引就应该是一。

以上就是关于ResultSet怎么用全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

在Java中,获得ResultSet的总行数的方法有以下几种。 第一种:利用ResultSet的getRow方法来获得ResultSet的总…
查看详情
在Java中,获得ResultSet的总行数的方法有以下几种。 第一种:利用ResultSet的getRow方法来获得ResultSet的总…
查看详情
在Java中,获得ResultSet的总行数的方法有以下几种。 第一种:利用ResultSet的getRow方法来获得ResultSet的总…
查看详情
相关文章
推荐游戏
风之谷
风之谷
游戏资讯 10.5M
下载
斗罗大陆3
斗罗大陆3
游戏资讯 566.9M
下载
冠军网球
冠军网球
游戏资讯 148.1M
下载
最佳炮手
最佳炮手
游戏资讯 68.1M
下载
如梦下弦月
如梦下弦月
游戏资讯 840.1M
下载
富甲封神传
富甲封神传
游戏资讯 263.0M
下载