Vector怎么进行分页??

uioppp 2005-04-21 11:53:57
jsp中我是把数据库记录取到 Vector中,然后怎么进行分页??
...全文
193 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ww_stone 2005-06-23
  • 打赏
  • 举报
回复
zdnetchina(天天向上)说的好,做个标签,传入参数来分页
qingzhuang 2005-06-23
  • 打赏
  • 举报
回复
是你来结帖,不是斑竹来结帖
uioppp 2005-06-21
  • 打赏
  • 举报
回复
本人已解决了问题,请版主结帖!!!
Squall1009 2005-04-21
  • 打赏
  • 举报
回复
我再次昏迷,你数据都取到了,想怎么分就可以怎么分了
june7 2005-04-21
  • 打赏
  • 举报
回复
package kiki.pub;

import java.sql.*;
import java.util.*;
/**
* Title:分页
* Description: 实现Oracle数据库的分页查询
* Copyright: Copyright (c) 2004
* Company: 毕业设计小组
* author:赵亮
* @version 1.0
*/
public class SplitPager
{
/*
* _sql_str:传入的sql语句
* _total_records: 总记录数目
* _pageSize: 每页显示的记录数目
* _page: 所分的逻辑页数
*/
private Connection con=null;
private ResultSetMetaData rsmd=null;
private Statement stmt=null;
private ResultSet rs=null;
private String _sql_str;
private int _total_records;
private int _pages;
private int _pagesize;


public void setConnection(Connection con)
{
this.con=con;
}

public void initialize(String sqlStr,int pageSize)
{
this._sql_str=sqlStr;
this._pagesize=pageSize;
try{
stmt=this.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(this._sql_str);
rsmd=rs.getMetaData();
if (rs!=null)
{
rs.last();
this._total_records=rs.getRow();
rs.first();
this._pages=(this._total_records-1)/this._pagesize+1;
}
}
catch(SQLException e){System.out.println(e.toString()); }

}


public Vector getPage(int ipage){
Vector vData=new Vector();
int n=ipage;
int m=0;
int j=1;
m=(n-1)*this._pagesize+1;
try{
if (rs!=null)
{
rs.absolute(m);
do{
if(j++>this._pagesize) break;
String[] sData=new String[rsmd.getColumnCount()];
for(int k=0;k<rsmd.getColumnCount();k++){
sData[k]=rs.getString(k+1);
}
if (sData==null) {
break;
}
vData.addElement(sData);
}while(rs.next());
}
rs.close();
stmt.close();
}
catch(SQLException e){System.out.println(e.toString()); }
return vData;
}

public int getPages() {
return this._pages;
}

public int getTotalRecords() {
return this._total_records;
}

}

这是个分页的javabean,比较简单的一种,如果是纪录比较少的话是没问题的,你自己照着思路改吧
lancelobb 2005-04-21
  • 打赏
  • 举报
回复
然后就一次输出前N个记录,下一页就输出N到N×2个,第p页就N×(p-1)-N×p
是不是说得有点弱智?
qingzhuang 2005-04-21
  • 打赏
  • 举报
回复
可以在Vector 的方法里的 sql 与 while 思考,最后返回的是你要的页码的行数
可以这样的方法:
public Vector listData(String page)throws Exception
{}
其中 page 是你的页码
zdnetchina 2005-04-21
  • 打赏
  • 举报
回复
可以写一个类或tag
yycxx 2005-04-21
  • 打赏
  • 举报
回复
我也在想这个问题,期待。。。。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧