当前位置: 技术问答>java相关
如何返回ResultSet的结果数?
来源: 互联网 发布时间:2015-06-14
本文导语: 就是返回size()或length()的那种。? | 先 last() 然后用 getRow()得到查询结果的行数,但是请注意这时你的cursor 已经在last row !,如果还需要再访问前面行的内容,需要你的cursor 是...
就是返回size()或length()的那种。?
|
先 last()
然后用 getRow()得到查询结果的行数,但是请注意这时你的cursor 已经在last row !,如果还需要再访问前面行的内容,需要你的cursor 是可以向前移动的!
然后用 getRow()得到查询结果的行数,但是请注意这时你的cursor 已经在last row !,如果还需要再访问前面行的内容,需要你的cursor 是可以向前移动的!
|
什么意思?
不是这个吗?
Rst=Stmt.executeQuery("select count(*) from table");
Rst.next();
int num=Rst.getInt(1);
不是这个吗?
Rst=Stmt.executeQuery("select count(*) from table");
Rst.next();
int num=Rst.getInt(1);
|
是做搜索之类的吧,偶有建议:
加一个变量int count=0;
while(rs.next)
{
count++;
}
count的值即为rs的个数.
ok?
加一个变量int count=0;
while(rs.next)
{
count++;
}
count的值即为rs的个数.
ok?
|
我在JBuilder中是用这个的:
dselevalue.queryDataSet1.getRowCount() ;
dselevalue.queryDataSet1.getRowCount() ;
|
JDBC中没有方法可以直接得到查询结果的个数。必须自己去数。
|
rs.afterLast();//弄到最后一行
rs.previous();//一定要前移一次
rs.getRow();//这是总记录数
用完就rs.first.就行了
rs.previous();//一定要前移一次
rs.getRow();//这是总记录数
用完就rs.first.就行了
|
rs.first();//弄到最后一行
rs.previous();//一定要前移一次
这些方法大多数的 JDBC driver 都没有实现,会在运行时抛出UnsupportedOperationException的,不知你使用的数据库和JDBC driver会不会。
rs.previous();//一定要前移一次
这些方法大多数的 JDBC driver 都没有实现,会在运行时抛出UnsupportedOperationException的,不知你使用的数据库和JDBC driver会不会。
|
up
|
这个还不够简单啊??
|
看看文档
|
JDBC1里没有JDBC2里好像有
|
呵呵,是rs.first();