SqlServer数据库中使用top分页
//分页检索数据
public List getDataSplit(String table,String orderCoulmn,String condition,int page,int pageCount){
long start = System.currentTimeMillis();
List list = new ArrayList();
Connection conn = this.getConn();
Statement stmt = null;
ResultSet rs = null;
String orderby = "order by zj";//默认
if(orderCoulmn!=null && !orderCoulmn.trim().equals(""))orderby = orderby.replace("zj",orderCoulmn);
if(condition!=null && !condition.trim().equals(""))condition = " and "+condition;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery("select count(*) from "+table+" where 1=1 "+condition);
rs.next();
int count = rs.getInt(1);
list.add(new Integer(count));//把总数加入到结果集中
if(page <=0)page=1;
int number = (page-1)*pageCount;
if(number > count)number = (count-pageCount+1)/pageCount ;
// String sql = "select top "+pageCount+" * from "+table+" where ("+orderCoulmn+" not in (select top "+number+" "+orderCoulmn+" FROM "+table+" where 1=1 "+condition+" "+orderby+")) "+condition+" "+orderby;
String sql = "select top "+pageCount+" * from "+table+" where (zj not in (select top "+number+" zj FROM "+table+" where 1=1 "+condition+" "+orderby+")) "+condition+" "+orderby;
// System.out.println(sql+"\n");
rs = stmt.executeQuery(sql);
int length = rs.getMetaData().getColumnCount();
while(rs.next()){
Map map = new HashMap();
for (int i = 1; i <= length; i++) {
&n