//这个类可以参见ibm的文章:使用类反射机制简化struts的开发.
package com.lyjweb.wyhn.common;
import java.sql.*;
import com.lyjweb.common.*;
import java.util.*;
public class fenye {
private connection con=null;
private string sql="";
private string page="1";// 当前页
private int i_page=1;//当前页
private int i_page_count=10;//每页显示条数
private string nextpage,prepage,sumpage,sumcount;
private string sql_select,sql_from,sql_where,sql_order;
private string sql_pre="";
private string sql_count=""; //count(*)语句
private resultset rst=null;
private preparedstatement stm=null;
private collection result_c=null;
private string s_null="无";
///////////////////////////输入值///////////////////////////////
public void setconnection(connection con)
{
this.con=con;
}
public void setsql(string sql_select,string sql_from,string sql_where,string sql_order)
{
//this.sql=sql;
this.sql_select=sql_select;
this.sql_from=sql_from;
this.sql_where=sql_where;
this.sql_order=sql_order;
this.sql_count="select count(*) " + sql_from + " " + sql_where;
this.sql=sql_select + " " + sql_from + " " + sql_where + " " + sql_order;
}
public void setstm(preparedstatement stm)
{
this.stm=stm;
}
public void setpage(string p)
{
if(p==null)
{
this.page="1";
this.i_page=1;
}
else
{
p=p.trim();
if(p.equals("")) p="1";
this.page=p;
this.i_page=integer.parseint(this.page);
}
}
public void setpagecount(int pcount)
{
this.i_page_count=pcount;
}
public void setsqlpre(string sqlpre)
{
this.sql_pre=sqlpre;
}
public void sets_null(string s_null)
{
this.s_null=s_null;
}
//////////////////////////////////////返回值///////////////////////////////////////////
public resultset getrst()
{
return rst;
}
public string getpage()
{
return page;
}
public string getnextpage()
{
return nextpage;
}
public string getprepage()
{
return prepage;
}
public string getsumpage()
{
return sumpage;
}
public string getcount()
{
return sumcount;
}
public collection getcollection()
{
return result_c;
}
////////////////////////////////////////操 作///////////////////////////////////////////////
private string b_string,f_string;
private string comsql;
private void countpage() throws exception
{
//try{
preparedstatement stm1=con.preparestatement(sql_count);
resultset rst_count=stm1.executequery();
rst_count.next();
int i_sum=rst_count.getint(1);
rst_count.close();
rst_count=null;
stm1.close();
stm1=null;
this.sumcount=string.valueof(i_sum);
int page_all=0;
if (i_sum % i_page_count==0)
{
page_all=i_sum / i_page_count;
}
else{
page_all=i_sum / i_page_count+1;
}
sumpage=string.valueof(page_all);
if(i_page>page_all)
{
i_page=page_all;
page=string.valueof(i_page);
}else if(i_page<1)
{
i_page=1;
page=string.valueof(i_page);
}
if(i_page==page_all)
nextpage=string.valueof(i_page) ;
else
nextpage=string.valueof(i_page+1) ;
if(i_page==1)
prepage="1";
else
prepage=string.valueof(i_page-1);
int f_number=i_page * i_page_count;
int b_number=f_number-i_page_count+1;
b_string=string.valueof(b_number);
f_string=string.valueof(f_number);
//}catch(exception e)
//{
// system.out.println("error in fenye:" + e.tostring());
//}
}
private void comsql()
{
comsql= " from (select rownum row_id ,ttttt2.* from( " + sql + " ) ttttt2 ) where row_id between " + b_string + " and " + f_string;
if(sql_pre.equals(""))
comsql=sql_select + comsql;
else
comsql=sql_pre+comsql;
//return comsql;
}
private void searchdata() throws exception
{
string s=comsql;
stm=con.preparestatement(s);
rst=stm.executequery();
}
public int dofenye()
{
try{
this.countpage();
this.comsql();
this.searchdata();
return 1;
}catch(exception e)
{
system.out.println("error in fenye:" + e.tostring());
return 0;
}
}
public int dofenyecollection(string thedao)
{
try{
system.out.println(sql_count);
this.countpage();
this.comsql();
system.out.println(comsql);
result_c=tool.select(comsql,thedao,con,s_null);
return 1;
}catch(exception e)
{
system.out.println("error in fenye:" + e.tostring());
return 0;
}
}
}
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


