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,不知何故?
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,不知何故?
sql_str2="select count(*) as c from("+sql_str+")";
System.out.println(sql_str2);打印出来很明显就能看出对错
统计记录数时出错,执行的统计语句是select count(*) as c from (select * from dic_bm),
语句在sql/plus中执行没错阿,不知道为什么
catch(Exception e)
{System.out.println("统计记录数时出错,执行的统计语句是"+sql_str2);rec_count=-1;}
根本无法看出来为什么错,你应该用e.printStackTrace();
同时也打印出你的sql语句,System.out.println(sql_str2);这样才能看出来到底错在哪.
前面应该加上一句: result.next();