
有两种方式
1通过sql语句:
如select count(id) from tab where id<10;
这样查出来的就是行数
2 在java中
//sqlRst是ResultSet 对象的实例
int RowCount = sqlRstgetRow();//获得当前行号
查找某个表的总行数,用 select count() from table是一个好的想法。从结果中得到行值就能获取 table的总行数。然而,如果不用这个方法,想要直接返回行数的方法是没有的,毕竟jdbc是统一的标准,这个标准接口里面没有直接返回table总行数的方法,这点要理解。然而如果能得到ResultSet (内存模拟的视图)可以用 getFetchSize得到总行数。这个方法并不能完全的满足你的要求,但您得明白,对于没有直接提供的方法,除了用某些手段,我们无可奈何。 getFetchSizeint getFetchSize() throws SQLException 获取此 ResultSet 对象的获取大小。 </dd>返回: 此 ResultSet 对象的当前获取大小 抛出: SQLException - 如果发生数据库访问错误或在已关闭的结果集上调用此方法getFetchSize() 这个方法
refreshRow()用数据库里最新的数据来刷新当前row
setFetchDirection(int direction);设置此 ResultSet 对象中行的处理方向。初始值由生成此 ResultSet 对象的 Statement 对象确定。获取方向可以在任何时间更改。。
setFetchSize(int rows);为 JDBC 驱动程序设置此 ResultSet 对象需要更多行时应该从数据库获取的行数。如果指定的获取大小为零,则 JDBC 驱动程序忽略该值,随意对获取大小作出它自己的最佳猜测。默认值由创建结果集的 Statement 对象设置。获取大小可以在任何时间更改。
rowDeleted();获取是否已删除某行。删除的行可能在结果集中留下一个可见的“洞”。此方法可用于检测结果集中的洞。返回值取决于此 ResultSet 对象是否可以检测到删除。
注:对于 CONCUR_READ_ONLY 的结果集并发性,对 rowDeleted 方法的支持是可选的
ResultSet 是一个迭代模式的动态连接容器。
迭代模式的容器遍历的时候通常是这样的
while(rsnext()){
//循环内容
}
rsnext()返回值是一个boolean,表示在迭代过程中是否已经到结尾。
直接从statementexcuteQuery()获得的rs默认数据游标在起始数据的前一个位置,调用一遍rsnext()才能指向可能有数据的第一条数据。然后遍历继续,直到迭代集合中再无数据rsnext()返回false;
ps:rsgetRow()表达的意思是结果集在当前游标下共存在多少列,不是rs的size()
在循环体中您将可以获得当前整行数据的各个列的值以及其它信息。
先rslast(),跳到最后一行,然后获得的行数就是查询集的行数,在rsbeforefirst()
int row;
int col;
stmt = connprepareStatement( SQL ,ResultSet
TYPE_SCROLL_INSENSITIVE,
ResultSetCONCUR_READ_ONLY);
rs = stmtexecuteQuery();
if( rslast())
{
row = rsgetRow();
rsbeforeFirst();
}
int col = rsgetMetaData()getColumnCount();
rslast();
int rowCount = rsgetRow();
或者
int rowCount = 0;
while(rsetnext()) {
rowCount++;
}
其实,如果你只要行数,不要其他东西,改一下sql就行了
String sql = "select count() from student where snum = '"+a+"' and password = '"+b+"'";
直接查询行数
int rowCount = 0;
if(rsetnext()) {
rowCount=rset getInt(1); // 这里是0还是1 忘了
}
ResultSet的getRow()函数的返回结果是当前数据集的行号,而不是结果的行数。
你使用getRow() 的时候 获得的是0 是因为你光标未移动导致的。
可以这样使用
/取到最后一行的行数
rslast();
int row=rsgetRow();
rsbeforeFirst();
/
以上就是关于Java 统计数据库中符合条件的行数 怎么做全部的内容,包括:Java 统计数据库中符合条件的行数 怎么做、怎样用一个java方法返回所查询数据库某个表的行数、JDBC的ResultSet等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)