package demo;
import java.sql.ResultSet;
import java.sql.Statement;
import demo.Config;
/** * @(#)Pager.java
* * * @author
* @version 1.00 2007/3/4
*/
public class Pager {
private int curPage;
private int pageSize;
private int allrowsCount=-1;
private int pageCount;
private ResultSet rs;
public Pager(Statement stam,String tableName,int curPage) {
// pageszie default is 4.
this(stam,tableName,curPage,0);
}
public Pager(Statement stam,String tableName,int curPage,int pageSize) { String sql="select * from "+tableName;
String sqlcount="select count(*) from "+tableName;
this.curPage = curPage;
this.pageSize = pageSize;
if (this.pageSize==0) this.pageSize=Integer.parseInt(Config.Record_pageSize);
checkData(stam,sqlcount);
// rs=stam.execute(sql); }
//检测数据
public boolean checkData(Statement stam,String sqlcount){
try { rs=stam.executeQuery(sqlcount); if(rs.next()) {
allrowsCount=rs.getInt(1); //计算页数 this.pageCount = (int) Math.ceil((double) allrowsCount / pageSize); }
else{
pageCount=0;
return false; } rs.close(); }
catch (Exception ex) { }
return true;
}
//返回记录总数
public int getRecordCount(){
return allrowsCount; }
//前移
public int previous() {
return (curPage - 1 < 1) ? 1 : curPage - 1; }
//后移
public int next() {
return (curPage + 1 > pageCount) ? pageCount : curPage + 1;
}
public int getPageCount(){ return pageCount; }
//返回当前页起始id
public int getcurBRecordId(){
return (curPage-1)*pageSize+1;
}
//返回当前页起始id
public int getcurERecordId(){
return (curPage-1)*pageSize+pageSize; }
public boolean isFirst() { return (curPage==1)?true:false; }
public boolean isLast() { return (curPage==pageCount)?true:false; }
//返回页数工具条StrBuffer
public StringBuffer getPageBar(String fileName){
String temp="";
StringBuffer str=new StringBuffer();
if(fileName.indexOf("?")==-1)
{ temp="?"; }
else { temp="&"; }
str.append("<form method='post' name='frmPage' action='"+fileName+"'>/n"); str.append("<p align='center'>/n");
if(isFirst())
str.append("Home First ");
else {
str.append("<a href='"+fileName+temp+"cur_page=1'>Home</a> /n"); str.append("<a href='"+fileName+temp+"cur_page="+(curPage-1)+"'>Before</a> /n");
}
if(isLast())
str.append("Next Last /n");
else
{ str.append("<a href='"+fileName+temp+"cur_page="+(curPage+1)+"'>Next</a> /n"); str.append("<a href='"+fileName+temp+"cur_page="+pageCount+"'>Last</a> /n"); }
str.append(" <b>"+allrowsCount+"</b> Record ");
str.append(" Go<select name='page' onChange=/"location='"+fileName+temp+"cur_page='+this.options[this.selectedIndex].value/">/n");
for(int i=1;i<=pageCount;i++)
{ if(i==curPage)
str.append("<option value='"+i+"' selected>go"+i+"Page</option>");
else
str.append("<option value='"+i+"'>go"+i+" Page</option>/n"); }
str.append("</select></p></form>/n");
return str; }
}
import java.sql.ResultSet;
import java.sql.Statement;
import demo.Config;
/** * @(#)Pager.java
* * * @author
* @version 1.00 2007/3/4
*/
public class Pager {
private int curPage;
private int pageSize;
private int allrowsCount=-1;
private int pageCount;
private ResultSet rs;
public Pager(Statement stam,String tableName,int curPage) {
// pageszie default is 4.
this(stam,tableName,curPage,0);
}
public Pager(Statement stam,String tableName,int curPage,int pageSize) { String sql="select * from "+tableName;
String sqlcount="select count(*) from "+tableName;
this.curPage = curPage;
this.pageSize = pageSize;
if (this.pageSize==0) this.pageSize=Integer.parseInt(Config.Record_pageSize);
checkData(stam,sqlcount);
// rs=stam.execute(sql); }
//检测数据
public boolean checkData(Statement stam,String sqlcount){
try { rs=stam.executeQuery(sqlcount); if(rs.next()) {
allrowsCount=rs.getInt(1); //计算页数 this.pageCount = (int) Math.ceil((double) allrowsCount / pageSize); }
else{
pageCount=0;
return false; } rs.close(); }
catch (Exception ex) { }
return true;
}
//返回记录总数
public int getRecordCount(){
return allrowsCount; }
//前移
public int previous() {
return (curPage - 1 < 1) ? 1 : curPage - 1; }
//后移
public int next() {
return (curPage + 1 > pageCount) ? pageCount : curPage + 1;
}
public int getPageCount(){ return pageCount; }
//返回当前页起始id
public int getcurBRecordId(){
return (curPage-1)*pageSize+1;
}
//返回当前页起始id
public int getcurERecordId(){
return (curPage-1)*pageSize+pageSize; }
public boolean isFirst() { return (curPage==1)?true:false; }
public boolean isLast() { return (curPage==pageCount)?true:false; }
//返回页数工具条StrBuffer
public StringBuffer getPageBar(String fileName){
String temp="";
StringBuffer str=new StringBuffer();
if(fileName.indexOf("?")==-1)
{ temp="?"; }
else { temp="&"; }
str.append("<form method='post' name='frmPage' action='"+fileName+"'>/n"); str.append("<p align='center'>/n");
if(isFirst())
str.append("Home First ");
else {
str.append("<a href='"+fileName+temp+"cur_page=1'>Home</a> /n"); str.append("<a href='"+fileName+temp+"cur_page="+(curPage-1)+"'>Before</a> /n");
}
if(isLast())
str.append("Next Last /n");
else
{ str.append("<a href='"+fileName+temp+"cur_page="+(curPage+1)+"'>Next</a> /n"); str.append("<a href='"+fileName+temp+"cur_page="+pageCount+"'>Last</a> /n"); }
str.append(" <b>"+allrowsCount+"</b> Record ");
str.append(" Go<select name='page' onChange=/"location='"+fileName+temp+"cur_page='+this.options[this.selectedIndex].value/">/n");
for(int i=1;i<=pageCount;i++)
{ if(i==curPage)
str.append("<option value='"+i+"' selected>go"+i+"Page</option>");
else
str.append("<option value='"+i+"'>go"+i+" Page</option>/n"); }
str.append("</select></p></form>/n");
return str; }
}