分类:
2008-06-27 09:17:13
//这里是javaBean
package org.jiaqu.vo;
public class Pagination extends Vo {
// pageNum 每页显示大小,pageindex 显示第几页,tableName 分页表名,tableRow 跟据那表的那一行来排序
private int pageNum=10;//一个初始值是为10条
private int pageindex;
private String tableName;
private String tableRow;
public int getPageindex() {
return pageindex;
}
public void setPageindex(int pageindex) {
this.pageindex = pageindex;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public String getTableRow() {
return tableRow;
}
public void setTableRow(String tableRow) {
this.tableRow = tableRow;
}
}
/*************************************************
// pageNum 每页显示大小,pageindex 显示第几页,tableName 分页表名,tableRow 跟据那表的那一行来排序
// str 是条件
// number是这个表有多少列
public List pagefenye(Pagination pagination, String str, int number) {
Statement stmt = null;
ResultSet rs = null;
List list = new ArrayList();
int num = pagination.getPageNum() * pagination.getPageindex();
System.out.println("pagefenye" + num);
try {
String sql = "SELECT TOP " + pagination.getPageNum() + " * FROM "
+ pagination.getTableName() + " WHERE ("
+ pagination.getTableRow() + " NOT IN (SELECT TOP " + num
+ " " + pagination.getTableRow() + " FROM "
+ pagination.getTableName() + " ORDER BY "
+ pagination.getTableRow() + "))" + str + " ORDER BY "
+ pagination.getTableRow() + "";
conn = this.getTranc().getConn();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
ArrayList lis = new ArrayList();
for (int i = 1; i <= number; i++) {
lis.add(rs.getObject(i));
}
/*
* lis.add(rs.getObject(2)); lis.add(rs.getObject(3));
* lis.add(rs.getObject(4));
*/
list.add(lis);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
tranc.close(rs, stmt);
}
return list;
}
// 得到表的总行数据
public int pageSum(Pagination pagination) {
Statement stmt = null;
ResultSet rs = null;
int sum = 0;
String sql = "SELECT COUNT(*) AS Expr1 FROM "
+ pagination.getTableName() + "";
try {
conn = this.getTranc().getConn();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
sum = rs.getInt("Expr1");
if (sum % pagination.getPageNum() == 0) {
sum = sum / pagination.getPageNum();
} else {
sum = sum / pagination.getPageNum() + 1;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
tranc.close(rs, stmt);
}
return sum;
}
/*
* 得到一个表有多少列 @athor yixianghui
*/
public int getTableclum(Pagination pagination) {
Statement stmt = null;
ResultSet rs = null;
int colnum = 0;
String sql = "SELECT count(name) as clu FROM syscolumns WHERE (id =(SELECT id FROM sysobjects WHERE (name = '"
+ pagination.getTableName() + "')))";
try {
conn = this.getTranc().getConn();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
colnum = rs.getInt("clu");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
tranc.close(rs, stmt);
}
return colnum;
}