日期:2014-05-18  浏览次数:20739 次

这个bean有什么问题?
bean的声明如下......

private   Connection   conn;
private   int   rec_count=0;
private   ResultSet   result=null;
....

增加一个方法,主要是想得到记录集的记录数
public   int   getSelectrecordcount()
{    
try{
sql_str2= "select   count(*)   as   c   from( "+sql_str+ ") ";

PreparedStatement   select_stmt=conn.prepareStatement(sql_str2,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
        result=select_stmt.executeQuery();
rec_count=Integer.parseInt(result.getString( "c "));
//以上这句有问题
}catch(Exception   e){System.out.println( "统计记录数时出错,执行的统计语句是 "+sql_str2);rec_count=-1;}
return   rec_count;

}

在测试页中,已对conn正确连接,sql_str也传入正常,但只要调用int   i=mybean.getSelectrecordcount();就返回-1,不知何故?

------解决方案--------------------
我的意思是在catch语句把e的内容print出来,那样子才可以看得出来是什么错误啊。。。
------解决方案--------------------
你这样写
catch(Exception e)
{System.out.println( "统计记录数时出错,执行的统计语句是 "+sql_str2);rec_count=-1;}
根本无法看出来为什么错,你应该用e.printStackTrace();
同时也打印出你的sql语句,System.out.println(sql_str2);这样才能看出来到底错在哪.