各位大哥指教一下小弟,我用sql sever2005 要使web中的分页上加以功能置顶
请问大哥们我该在数据库表中加什么字段,怎么分页读取数据,
那位给个详细的设计和读取的过程,有代码最好。谢谢了!!!!!!!!!

解决方案 »

  1.   

    sql server有支持在数据库中分页的字段的,是系统字段,你查查就知道了
      

  2.   

    分页主要是用一些参数在其进行传递
    例:
    Int totalLines; //总的数据行数
    Int totalPages; //总的页数
    Int pageLines;  //每页显示的行数
    Int pageNum;    //每页的页码编号在此要建立数据库的连接ResultSet rs=statement.executeQuery(select count(*) from mytable)
    Int totalLines=rs.getInt(1); //获取总的数据行数pageLines=5 //此项可自己设置if(totalLines % pageLines==0 ){
       totalPages=totalLines/pageLines;  //获取总的页数
    }
    else{
       totalPages=totalLines/pageLines+1;  //获取总的页数
    }//此处需要在显示页面上设置页码参数if(request.getParameter("pagenum")==null){  
       pageNum=1;
    }else{
       Integer pageNum=(Integer)request.getParameter("pagenum");
       if(pageNum<0){
           pageNum=1;
       }
       if(pageNum>totalPages){
           pageNum=totalPages;
       }
    }<在此要设置结果集的游标指针,sorry 此方法忘了 好像是 rs.absolut(Int i)  //主要是设置读取数据的起始行>rs=stetement.executeQuery(select * from mytable);
    if(rs.next())(
       for(int i=0;i<=5;i++){
         <在此设置要显示的数据>
       }
    }
      

  3.   


    看下吧,详细的代码,表的设计,存储过程,怎么调用都写的非常清楚
    http://jackie9305.javaeye.com/blog/351187
      

  4.   

    不是分页呀,是置顶,并且是有的置顶,有的没置顶过::
    说不清楚,用123456带表6条记录,根据插入的顺序从数据库中读出,在web页面上应显示为123456
    现在我把5置顶后,再从数据库中读出,在web页面上应显示为512346
    我再把4置顶后,再从数据库中读出,在web页面上应显示为451236
    我再插入一条数据7,没置顶过,再从数据库中读出,在web页面上应显示为4512367
    我再把6置顶后,再从数据库中读出,在web页面上应显示为6451237
    我再把4置顶后,再从数据库中读出,在web页面上应显示为4651237
    就是说置顶后的数据要一直排在没置顶过的前面。各位大哥给个建议呀///////先谢了
      

  5.   

    写一个分页操作的类,楼主看看吧,以后要做分页就调用这个类就可以了/**
     * 做分页操作的工具类
     * @author Administrator
     *
     */
    public class Page {
    private int pageidid;//页数
    private int prepage;//上一页索引
    private int nextpage;//下一页索引
    private String next;//下一页文本
    private String pre;//上一页文本
    private int totalpage;//总页数

    public int getTotalpage() {
    return totalpage;
    }
    public void setTotalpage(int totalpage) {
    this.totalpage = totalpage;
    }
    public int getPageidid() {
    return pageidid;
    }
    public void setPageidid(int pageidid) {
    this.pageidid = pageidid;
    }
    public int getPrepage() {
    return prepage;
    }
    public void setPrepage(int prepage) {
    this.prepage = prepage;
    }
    public int getNextpage() {
    return nextpage;
    }
    public void setNextpage(int nextpage) {
    this.nextpage = nextpage;
    }
    public String getNext() {
    return next;
    }
    public void setNext(String next) {
    this.next = next;
    }
    public String getPre() {
    return pre;
    }
    public void setPre(String pre) {
    this.pre = pre;
    } public Page(String next, int nextpage,  int pageidid,
    String pre, int prepage,int totalpage) {
    super();
    this.next = next;
    this.nextpage = nextpage;

    this.pageidid = pageidid;
    this.pre = pre;
    this.prepage = prepage;
    this.totalpage=totalpage;
    }
    public Page() {
    super();

    }
            //分页处理方法,传入当前页数,总记录数和每页显示的数量
    public   void apartPage(int pageid,int all,int num){
    this.computeTotal(all, num);//首先计算总页数
    this.setPageidid(pageid);
    this.setNextpage(pageid);
    this.setPrepage(pageid);
    this.setNext("下一页");
    this.setPre("上一页");
    if(pageid>1){//表示有上一页
    this.setPrepage(pageid-1);
    }else{
    this.setPre("首页");
    }
    int rest=all-pageid*num;
    if(rest>0){//表示有下一页
    this.setNextpage(pageid+1);
    }else{this.setNext("尾页");}
    if(this.pre.equals("首页")&&this.next.equals("尾页")){
    this.setNext("");
    }
    }
    //计算总页数
    private int computeTotal(int all,int num){
    int page=all/num;
    page=all/num>0?page+1:page;
    setTotalpage(page);
    return this.totalpage;
    }
    }