<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    ACCESS中的分頁解決方案

    Posted on 2007-04-24 14:11 semovy 閱讀(444) 評論(0)  編輯  收藏 所屬分類: C++ Builder相關
    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;
    }
    主站蜘蛛池模板: 亚洲伊人久久成综合人影院| 亚洲M码 欧洲S码SSS222| 亚洲综合另类小说色区| 猫咪www免费人成网站| 四虎影视永久免费观看地址| 亚洲人成人网站18禁| 好男人看视频免费2019中文| 亚洲第一街区偷拍街拍| 午夜神器成在线人成在线人免费| 亚洲欧洲日韩极速播放| 毛片a级毛片免费观看免下载| 在线观看亚洲AV日韩AV| 国产黄色片在线免费观看| 欧洲乱码伦视频免费国产 | 亚洲成a人片在线观看日本麻豆| 国产亚洲视频在线观看| 四虎永久免费网站免费观看| 免费的黄色的网站| 亚洲午夜福利AV一区二区无码| 久久精品成人免费观看97| 亚洲视频在线观看| 97在线线免费观看视频在线观看 | 国产AV无码专区亚洲AWWW| APP在线免费观看视频| 亚洲精品国产专区91在线| 成人毛片18女人毛片免费 | a毛片在线还看免费网站| 亚洲白嫩在线观看| 日韩中文无码有码免费视频| 搜日本一区二区三区免费高清视频| 国产精一品亚洲二区在线播放| 亚洲免费在线视频播放| 羞羞漫画登录页面免费| 亚洲国产精品无码AAA片| 成人毛片免费网站| 国产在线观看无码免费视频| 亚洲国产精品成人久久久| 免费吃奶摸下激烈视频| 91av在线免费视频| 亚洲Aⅴ在线无码播放毛片一线天| 亚洲日韩欧洲乱码AV夜夜摸|