SQLSERVER2000分页代码

网上找的。资料
1.今天上午写了个sqlserver2000的分页方法。此外网上也有很多的分页方法。大致有用top的,还有就是用存储过程。呵呵,存储过程那个好是好用,但是太复杂,么的看明白。
我自己写了个方法,自己用吧。感觉还可以了!
方法:selectOnePage_queryToHashTabl(String sql,int pageNo, int numPerPage)
参数说明: String sql ---要查询的sql
int pageNo ----要查询的页码
int numPerPage -----每页显示多少条记录
返回值:Vector. 本方法返回一个Vector,其中Vector中的每一个元素是一个Hashtable.每个Hashtable中存放着一行(条)记录。Vector的第一个元素放着分页信息(一共多少页,一共多少条记录)。顾只要从Vector的第二个元素开始循环即可获取所有的记录。


用java 写的
public Vector selectOnePage_queryToHashTabl(String sql,int pageNo, int numPerPage)throws Exception {
Vector list = new Vector();
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try
{
con = getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery(sql); //首先获取所有满足条件的记录条数
ResultSetMetaData columns=rs.getMetaData();
int columnCount=rs.getMetaData().getColumnCount();
int rowNo = 1;
int totalPages = 0;
int totalRecords=0;
while(rs.next())
{
if(rowNo>(pageNo-1)*numPerPage && rowNo<=pageNo*numPerPage)
{
Hashtable table= new Hashtable();
try
{
for(int i=1;i<=columnCount;i++)
{
String columnValue = rs.getString(i);
String columnname=columns.getColumnName(i);
table.put(columnname,columnValue);
}
list.add(table);
}
catch(Exception ex)
{
throw ex;
}
}
rowNo++;
totalRecords++;
}
if(totalRecords % numPerPage == 0)
{
totalPages = totalRecords / numPerPage;
}
else
{
totalPages = totalRecords / numPerPage + 1;
}

Hashtable table= new Hashtable();

table.put("totalPages",Integer.toString(totalPages));//共有几页

table.put("totalRecords",Integer.toString(totalRecords));//共有几条记录

list.insertElementAt(table,0);//第一条记录放置分页信息

}
catch(Exception ex)
{
throw ex;
}
finally
{
try
{
rs.close();
stmt.close();
con.close();
}
catch(Exception ex)
{
throw ex;
}
}
if(list.size() == 0)
{
return null;
}
else
{
return list;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值