package sei;import java.sql.*; //import java.util.*;public class PageResultSet { // private Collection data = null;//分页数据 private int curPage=1;//当前页 private int pageSize=15;//每页显示的记录数 private long rowsCount=0;//记录行数 private int pageCount=1;//页数 private String SQL="";//查询条件 public String getSQL() { return SQL; }
//getCurPage:返回当前的页数 public int getCurPage() { return curPage; } //getPageSize:返回分页大小 public int getPageSize() { return pageSize; } //getRowsCount:返回总记录行数 public long getRowsCount() { return rowsCount; } //getPageCount:返回总页数 public int getPageCount() { return pageCount; }
//第一页 public int first() { return 1; } //最后一页 public int last() { return pageCount; } //上一页 public int previous() { return (curPage - 1 < 1) ? 1 : curPage - 1; }
if (SelectFileds.equals("")||SelectFileds==null)SelectFileds="*"; if(IdFiled==null||IdFiled.equals(""))return null; String IsWhere=""; if (sql==null) sql=""; if(sql.equals("")){IsWhere="Where";this.SQL="";sql="";}else{ IsWhere="And";this.SQL=sql;sql="Where "+sql;}
if (CurPage==0) CurPage=1; this.curPage=CurPage;
ResultSet rs; SqlBean db = new SqlBean(); try { rs = db.executeQuery("select count(*) as A FROM "+Table+" "+sql); if (rs.next()) rowsCount=rs.getInt("A");
//this.SQL="select top "+pageSize+" "+SelectFileds+" FROM "+Table+" "+sql+" "+IsWhere+" "+IdFiled+" Not In (Select Top "+((curPage-1)*pageSize)+" "+IdFiled+" "+Table+" "+sql+" order by "+IdFiled+" ASC) order by "+IdFiled+" ASC";
pageCount = (int)Math.ceil((rowsCount + pageSize-1) / pageSize); rs=db.executeQuery("select top "+pageSize+" "+SelectFileds+" FROM "+Table+" "+sql+" "+IsWhere+" "+IdFiled+" Not In (Select Top "+((curPage-1)*pageSize)+" "+IdFiled+" FROM "+Table+" "+sql+" order by "+IdFiled+" ASC) order by "+IdFiled+" ASC");
//import java.util.*;public class PageResultSet { // private Collection data = null;//分页数据
private int curPage=1;//当前页
private int pageSize=15;//每页显示的记录数
private long rowsCount=0;//记录行数
private int pageCount=1;//页数
private String SQL="";//查询条件 public String getSQL() {
return SQL;
}
//getCurPage:返回当前的页数
public int getCurPage() {
return curPage;
} //getPageSize:返回分页大小
public int getPageSize() {
return pageSize;
} //getRowsCount:返回总记录行数
public long getRowsCount() {
return rowsCount;
} //getPageCount:返回总页数
public int getPageCount() {
return pageCount;
}
//第一页
public int first() {
return 1;
} //最后一页
public int last() {
return pageCount;
} //上一页
public int previous() {
return (curPage - 1 < 1) ? 1 : curPage - 1;
}
//下一页
public int next() {
return (curPage + 1 > pageCount) ? pageCount : curPage + 1;
} //第一页
public boolean isFirst() {
return (curPage==1)?true:false;
} //最后一页
public boolean isLast() {
return (curPage==pageCount)?true:false;
} //获取当前页数据
//SelectFileds:选择要显示的字段 *
//IdFiled:要进行排序的字段
//SQL:查询条件 如:(User='11')
//IsWhere:SQL语句中如果有Where条件那么该值为"",否则为"Where"
//CurPage:要显示的当前页
public ResultSet getData(String SelectFileds,String IdFiled,String Table, String sql,int CurPage) {
if (SelectFileds.equals("")||SelectFileds==null)SelectFileds="*";
if(IdFiled==null||IdFiled.equals(""))return null;
String IsWhere="";
if (sql==null) sql="";
if(sql.equals("")){IsWhere="Where";this.SQL="";sql="";}else{ IsWhere="And";this.SQL=sql;sql="Where "+sql;}
if (CurPage==0) CurPage=1;
this.curPage=CurPage;
ResultSet rs;
SqlBean db = new SqlBean();
try {
rs = db.executeQuery("select count(*) as A FROM "+Table+" "+sql);
if (rs.next()) rowsCount=rs.getInt("A");
//this.SQL="select top "+pageSize+" "+SelectFileds+" FROM "+Table+" "+sql+" "+IsWhere+" "+IdFiled+" Not In (Select Top "+((curPage-1)*pageSize)+" "+IdFiled+" "+Table+" "+sql+" order by "+IdFiled+" ASC) order by "+IdFiled+" ASC";
pageCount = (int)Math.ceil((rowsCount + pageSize-1) / pageSize);
rs=db.executeQuery("select top "+pageSize+" "+SelectFileds+" FROM "+Table+" "+sql+" "+IsWhere+" "+IdFiled+" Not In (Select Top "+((curPage-1)*pageSize)+" "+IdFiled+" FROM "+Table+" "+sql+" order by "+IdFiled+" ASC) order by "+IdFiled+" ASC");
} catch (Exception e) {rs=null;}
return rs;
} /**
* 获取工具条
* @return String
*/
public String getToolBar(String fileName){
String temp="";
if(fileName.indexOf("?")==-1){temp="?";}else{ temp="&";}
String str="<table border=0 width=550 align=center><form method='post' name='frmPage' action='"+fileName+"'>";
str=str+"<tr align=center valign=middle>";
str=str+"<td>【每页"+pageSize+"条记录】</td>";
str=str+"<td>【共"+pageCount+"页/"+rowsCount+"条记录】</td>";
if(curPage<=1)
{
str=str+"<td>【首页】</a></td>";
str=str+"<td>【上一页】</td>";
}else{
str=str+"<td><a href=\""+fileName+temp+"cur_page=1&SQL="+SQL+"\">【首页】</a></td>";
str=str+"<td><a href=\""+fileName+temp+"cur_page="+(curPage-1)+"&SQL="+SQL+"\">【上一页】</a></td>";
}
if (curPage<pageCount)
{
str=str+"<td><a href=\""+fileName+temp+"cur_page="+(curPage+1)+"&SQL="+this.SQL+"\">【下一页】</a></td>";
str=str+"<td><a href=\""+fileName+temp+"cur_page="+pageCount+"&SQL="+SQL+"\">【尾页】</a></td>";
}else{
str=str+"<td>【下一页】</td>";
str=str+"<td>【尾页】</td>";
}
str+="<td>转到<select name='page' onChange='GoPage()'>";
for(int i=1;i<=pageCount;i++)
{
if(i==curPage)
str+="<option value='"+i+"' selected>第"+i+"页</option>";
else
str+="<option value='"+i+"'>第"+i+"页</option>";
}
str+="</select></td>";
// str+="<td>转到<INPUT type='submit' VALUE=' GO ' CLASS='button' onmouseover='MOX()' onmouseout='MUX()' onClick=\"location='"+fileName+temp+"cur_page='+\" </td>">
str+="</tr></form></table>"; str+="<SCRIPT Language = javascript>";
str+="function GoPage(){window.location=\""+fileName+temp+"cur_page=\"+document.frmPage.page.options[document.frmPage.page.selectedIndex].value+\"&SQL="+SQL+"\"}";
str+="</SCRIPT>";
return str;
}
}
然后在页面中导入就OK