如何判断结果为空?(100分)

  • 主题发起人 主题发起人 Kule
  • 开始时间 开始时间
K

Kule

Unregistered / Unconfirmed
GUEST, unregistred user!
rs.next();
if (rs.wasNull())
{}
else
{}
这么写对吗
 
rs是什么
 
rs.eof or rs.bof
 
大概是这样吧
rs.next();
if rs.isNull then
begin

end
else
begin

end;
 
我问的是jsp
 
if (!rs.next()) {
//不为空结果集
...
}
else
{
//为空
...
}
 
应该这样判断:

if (rs.bof &
rs.eof)
window.alert("记录集为空");
else
window.alert("记录集不为空");
 
我对JSP不是很了解
不过不管是VSP还是JSP我想应该都有RS.RECORDCOUNT这种属性的吧
 
很遗憾,JDBC里的ResultSet对象没有RecordCount属性
 
while(rs.next()){
//do something
}
 
rs.next()可以判断是否有后继记录!
有则返回"ture",否则返回"false"
rs也有可返回记录数的方法!
rs.getRow()
 
楼上的同志,rs.getRow()不是返回记录数的,他返回的是当前cursor所在记录的位置
The first row is number 1, the second number 2, and so on.
如果想返回记录数,需要先把cursor移动到最后(rs.afterLast()),然后用getRow()-1
可以得到记录数。
以上说法有个前提,你使用的jdbc driver需要符合jdbc2.0规范才行。
否则只能用while (rs.next()) count++;来算了
 
参考
http://www.java-cn.com/
 
我也是建议用下面的。
while (rs.next()) count++;
 
PreparedStatement pstmt = con.prepareStatement("select count(*) from table where condition = ?");
pstmt.set***(1 , ***);
ResultSet rs = pstmt.executeQuery();
rs.next();
if (rs.getInt(1) == 0) {
System.out.print("没有记录");
} else
{
System.out.print("记录数为 : " + rs.getInt(1));
}
这样不是很好吗?
 
后退
顶部