为什么结果集不为空还是说没有当前行

在myclicpse中,用聚合函数查行数,/***统计指定条件的数据的总条数*sql:selectcount(*)fromtablewhereid>?*@return计算... 在myclicpse中,用聚合函数查行数,

/**
* 统计指定条件的数据的总条数
* sql:select count(*) from table where id > ?
* @return 计算的总条数
*/
public int totalRecord(String sql,Object...obj) throws DataBaseException{
if(sql == null || sql.toLowerCase().indexOf("count") == -1)
throw new DataBaseException("不是一个合法的聚合函数查询语句");

rs= this.executeQuery(sql, obj);//一个方法 返回ResultSet
System.out.println(rs);

try {
System.out.println("成功执行到217行");
System.out.println("sql 是"+sql);
if(rs!=null){
System.out.println("结果集不为空");
}
System.out.println("object值"+rs.Int(1));

return rs.getInt(1);
} catch (SQLException e) {
throw new DataBaseException(e);
}finally{
this.release(rs);//释放资源
}
}

---------------------运行结果如下。
com.microsoft.sqlserver.jdbc.SQLServerConnection@1bd4722
obj为null返回
这里打出select count(*) from bbsTopic传入参数null成功到132
com.microsoft.sqlserver.jdbc.SQLServerResultSet@b169f8
成功执行到217行
sql 是select count(*) from bbsTopic
结果集不为空
com.microsoft.sqlserver.jdbc.SQLServerException: ResultSet 没有当前行。
0

------
哪位告诉我哪里错了啊?找了几个小时了也没找出,555555
非常感谢3楼,,
真的很奇怪啊,
为什么分开写就没错了,
展开
 我来答
冥盅米粒bl
2009-06-11 · TA获得超过569个赞
知道小有建树答主
回答量:559
采纳率:100%
帮助的人:204万
展开全部
int result=0;
if(rs.next()) //判断是否有记录
{
result = rs.getInt(0); //有的话,将取得的值赋给result
}

return result; //返回值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-06-11
展开全部
好像您地方了。你说的是c#吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式