Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1749458
  • 博文数量: 600
  • 博客积分: 10581
  • 博客等级: 上将
  • 技术积分: 6205
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-06 10:13
文章分类
文章存档

2016年(2)

2015年(9)

2014年(8)

2013年(5)

2012年(8)

2011年(36)

2010年(34)

2009年(451)

2008年(47)

分类: C/C++

2008-11-07 15:45:43

/*
页号正确取值范围是1..pagetotal 如果pageindex=0返回pagetotal
希望每页记录数,如果pagesize = 0 表明用户想一次性获取所有数据
数据总页数,系统给调用方返回数据总页数
*/
int Toolkit::getRowNumStartEnd(int &iRowStart,int &iRowEnd,int iCountNum,const ::CC::PageObject& inpageObject,::CC::PageObject& outpageObject)
{
        ACE_DEBUG( ( LM_ERROR, "[%D %T] [INFO] [ODB](%N:%l)\t iPageindex[%d]iPagesize[%d]iPagetotal[%d] \n",
                                inpageObject.iPageindex,
                                inpageObject.iPagesize,
                                inpageObject.iPagetotal) );
        if ( inpageObject.iPagesize == 0 )
        {
                iRowStart=1;
                iRowEnd=iCountNum;
        }else{
                outpageObject = inpageObject;
                outpageObject.iPagetotal=iCountNum/inpageObject.iPagesize;
                if (iCountNum%inpageObject.iPagesize>0)
                {
                        outpageObject.iPagetotal=outpageObject.iPagetotal+1;
                }
                if (inpageObject.iPageindex == 0)
                {
                        return 100;
                }
                if ( inpageObject.iPageindex>outpageObject.iPagetotal || inpageObject.iPageindex < 0 )
                {
                        outpageObject.iPageindex=outpageObject.iPagetotal;
                }
                iRowStart=outpageObject.iPageindex*inpageObject.iPagesize-inpageObject.iPagesize+1;
                if (outpageObject.iPageindex*inpageObject.iPagesize>iCountNum)
                {
                        iRowEnd=iCountNum;
                }else{
                        iRowEnd=outpageObject.iPageindex*inpageObject.iPagesize;
                }
        }
        return CC::iCcok;
}
阅读(1238) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~