报的错误和你的这句代码有关系:Statement stm=con.createStatement();换成这个试试:
Statement stm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_READ_ONLY);
Statement stm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_READ_ONLY);
{
Connection con;
Statement st;
ResultSet rs;
public final int maxNum=15;
int num=15;
int totalNum=0;
int pageNum=0;
int i=0;
DataConnection one;
public PageQuery()
{
}
public ResultSet PageNum(int pagenum,String sql)
{
try
{
pageNum=pagenum;
one=new DataConnection();
con=one.getConnect();
st=con.createStatemen (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery(sql);
rs.last();
totalNum=rs.getRow();
if(pagenum-1>0)
{
rs.absolute((pagenum-1)*maxNum);
}
else
{
rs.beforeFirst();
}
if(totalNum-(pageNum-1)*maxNum>0)
{
if(totalNum-(pageNum-1)*maxNum>maxNum)
{
num=15;
}
else
{
num=totalNum-(pageNum-1)*maxNum;
}
}
else
{
num=0;
}
}
catch(SQLException e)
{
System.out.println(e.getMessage());
rs=null;
}
return rs;
}
public void dataClose()
{
try
{
st.close();
con.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
public int getTotalNum() //返回总记录数
{
return totalNum;
}
public int getPageNum() //返回总页数
{
pageNum=(totalNum-1)/maxNum+1;
return pageNum;
}
public int getNum()//返回当前页的记录数
{
return num;
}
}