在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的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的总行数
ResultSet rset = stmt.executeQuery("select * from yourTableName")
int rowCount = 0
while(rset.next()) {
rowCount++}rowCount就是ResultSet的总行数。
(1)首先使用last()方法,将数据库游标定位到记录集的最后一行。
(2)使用getRow()方法,返回记录集最后一行的行索引。该索引就等于记录集所包含记录的个数,也就是记录集的行数。getRow()方法是在JDBC API 2.0中才定义的,在JDBC API 1.0中没有这个方法。
首先明确一下,你的空指针是在哪报的错,你写的sql语句,本身也是被预编译后,放mysql执行的,如果你selectt *方式去读取的,那么可以通过getRow或者是遍历的方式去计数,如果selectt count方式的话,可以直接通过getInt方式去读取,你上边说报了空指针,那你自己可以加一个端点进行调试
写SQL的代码:select count(*) from 表它返回的是查询出的结果
<例:return ***>
Java代码:
写SQL的那个类名 替用名<例:b>=new 写SQL的那个类名()
int a=Integer.parseInt(b.执行count查询的方法<注:这里是那个方法返回的结果>) //这里的Integer.parseInt()是把字符串转换为整型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)