<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 0, comments - 77, trackbacks - 0, articles - 356
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    ACCESS中的分頁解決方案

    Posted on 2007-04-24 14:11 semovy 閱讀(444) 評論(0)  編輯  收藏 所屬分類: C++ Builder相關(guān)
    String TUtilForm::getSQL(int recordCount ,int pageCount, int pageSize,int pageIndex,String tableName,String queryFields,String primaryKey,String ascending,String condition)
    {
        int middleIndex = pageCount/2;
        int firstIndex = 0;
        int lastIndex = pageCount - 1;
        String SQLStr = "";
        if( pageIndex <= firstIndex )
        {
            SQLStr = "select top " + IntToStr(pageSize) + " " + queryFields + " from " + tableName;
            if( condition != "")
            SQLStr += " where " + condition ;
            SQLStr += " order by " + primaryKey + " " + ascending;
        }
        else if( pageIndex > firstIndex && pageIndex <= middleIndex )
        {
            SQLStr = "select top " + IntToStr(pageSize) + " " + queryFields + " from " + tableName + " where " + primaryKey ;
            if( ascending == "asc" )
            SQLStr +=  ">(select max(";
            else
            SQLStr += "<(select min(";
            SQLStr += primaryKey + ") from (select top " + IntToStr(pageSize*pageIndex) + " " + primaryKey + " from " + tableName;
            if( condition != "" )
            SQLStr += " where " + condition;
            SQLStr += " order by " + primaryKey + " " + ascending + ") TableA )";
            if( condition != "" )
            SQLStr += " and " + condition;
            SQLStr += " order by " + primaryKey + " " + ascending;
        }
        else if( pageIndex > middleIndex && pageIndex < lastIndex)
        {
            SQLStr = "select " + queryFields + " from (select top " + IntToStr(pageSize) + " " + queryFields + " from " + tableName;
            SQLStr += " where " + primaryKey ;
            if( ascending == "asc" )
            SQLStr += " < ( select min(";
            else
            SQLStr += " > ( select max(";
            SQLStr += primaryKey + ") from (select top " +  IntToStr( recordCount - pageSize * (pageIndex + 1)) + " " + primaryKey + " from " + tableName;
            if( condition != "" )
            SQLStr += " where " + condition;
            SQLStr += " order by " + primaryKey + " desc) TableA)" ;
            if( condition != "" )
            SQLStr += " and " + condition;
            SQLStr += " order by " + primaryKey + " desc) TableB order by )" + primaryKey + " " + ascending ;  
        }
        else
        {
            SQLStr = "select " + queryFields + " from (select top " + IntToStr(recordCount - pageSize*lastIndex) + " " + queryFields + " from " + tableName;
            if( condition != "" )
            SQLStr += " where " + condition;
            SQLStr += " order by " + primaryKey + " desc " + " )TableA order by " + primaryKey + " " + ascending;
        }
        return SQLStr;
    }
    主站蜘蛛池模板: 国产一卡2卡3卡4卡2021免费观看| 天堂在线免费观看| 免费做爰猛烈吃奶摸视频在线观看| 亚洲成a人片77777老司机| 久久免费动漫品精老司机| 亚洲国产精品一区| 3344永久在线观看视频免费首页| 亚洲精品国产免费| 免费影院未满十八勿进网站| 亚洲午夜一区二区三区| 国产乱码免费卡1卡二卡3卡| 亚洲成在人线在线播放无码| mm1313亚洲精品国产| 中国黄色免费网站| 亚洲经典在线观看| 成年女人18级毛片毛片免费观看| 亚洲国产成人久久精品大牛影视| 亚洲国产精品综合久久一线| a视频在线免费观看| 亚洲国产日韩在线| 免费真实播放国产乱子伦| 免费大片黄在线观看| 久久久久久亚洲av成人无码国产| 中文毛片无遮挡高潮免费| 国产精品亚洲二区在线| 亚洲精品美女久久777777| 国产精品1024永久免费视频 | 亚洲热妇无码AV在线播放| 亚洲美女视频免费| 国产亚洲美女精品久久久久| 亚洲国产AV无码专区亚洲AV| 精品无码免费专区毛片| 特级毛片免费播放| 亚洲黄色三级网站| 免费大黄网站在线观| 蜜桃成人无码区免费视频网站 | 亚洲一区免费在线观看| 亚洲国产精品综合久久网络| 84pao强力永久免费高清| 男人扒开添女人下部免费视频| 亚洲国产成人私人影院|