中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

mssql access top分頁方法
來源:易賢網 閱讀:1256 次 日期:2014-08-21 14:21:30
溫馨提示:易賢網小編為您整理了“mssql access top分頁方法”,方便廣大網友查閱!

雙top法相比于not in和max法,就是可以傳入一條sql語句來生成分頁sql語句,也可多字段排序;

但是有利也有弊,它要求排序字段必須構成唯一記錄,且select后的字段列表中,不允許出現與排序字段同名的字段。

雖然sql2k5及以上版本已經提供了rownum()來進行分頁處理,但是使用sql2k進行開發的還是較多的

using system;

using system.collections.generic;

using system.text;

/// <summary>

/// 構造分頁后的sql語句

/// </summary>

public static class paginghelper

{

/// <summary>

/// 獲取分頁sql語句,排序字段需要構成唯一記錄

/// </summary>

/// <param name="_recordcount">記錄總數</param>

/// <param name="_pagesize">每頁記錄數</param>

/// <param name="_pageindex">當前頁數</param>

/// <param name="_safesql">sql查詢語句</param>

/// <param name="_orderfield">排序字段,多個則用“,”隔開</param>

/// <returns>分頁sql語句</returns>

public static string createpagingsql(int _recordcount, int _pagesize, int _pageindex, string _safesql, string _orderfield)

{

//重新組合排序字段,防止有錯誤

string[] arrstrorders = _orderfield.split(new char[] { ',' }, stringsplitoptions.removeemptyentries);

stringbuilder sboriginalorder = new stringbuilder(); //原排序字段

stringbuilder sbreverseo教程rder = new stringbuilder(); //與原排序字段相反,用于分頁

for (int i = 0; i < arrstrorders.length; i++)

{

arrstrorders[i] = arrstrorders[i].trim(); //去除前后空格

if (i != 0)

{

sboriginalorder.append(", ");

sbreverseorder.append(", ");

}

sboriginalorder.append(arrstrorders[i]);

int index = arrstrorders[i].indexof(" "); //判斷是否有升降標識

if (index > 0)

{

//替換升降標識,分頁所需

bool flag = arrstrorders[i].indexof(" desc", stringcomparison.ordinalignorecase) != -1;

sbreverseorder.appendformat("{0} {1}", arrstrorders[i].remove(index), flag ? "asc" : "desc");

}

else

{

sbreverseorder.appendformat("{0} desc", arrstrorders[i]);

}

}

//計算總頁數

_pagesize = _pagesize == 0 ? _recordcount : _pagesize;

int pagecount = (_recordcount + _pagesize - 1) / _pagesize;

//檢查當前頁數

if (_pageindex < 1)

{

_pageindex = 1;

}

else if (_pageindex > pagecount)

{

_pageindex = pagecount;

}

stringbuilder sbsql = new stringbuilder();

//第一頁時,直接使用top n,而不進行分頁查詢

if (_pageindex == 1)

{

sbsql.appendformat(" select top {0} * ", _pagesize);

sbsql.appendformat(" from ({0}) as t ", _safesql);

sbsql.appendformat(" order by {0} ", sboriginalorder.tostring());

}

//最后一頁時,減少一個top n

else if (_pageindex == pagecount)

{

sbsql.append(" select * from ");

sbsql.append(" ( ");

sbsql.appendformat(" select top {0} * ", _recordcount - _pagesize * (_pageindex - 1));

sbsql.appendformat(" from ({0}) as t ", _safesql);

sbsql.appendformat(" order by {0} ", sbreverseorder.tostring());

sbsql.append(" ) as t ");

sbsql.appendformat(" order by {0} ", sboriginalorder.tostring());

}

//前半頁數時的分頁

else if (_pageindex < (pagecount / 2 + pagecount % 2))

{

sbsql.append(" select * from ");

sbsql.append(" ( ");

sbsql.appendformat(" select top {0} * from ", _pagesize);

sbsql.append(" ( ");

sbsql.appendformat(" select top {0} * ", _pagesize * _pageindex);

sbsql.appendformat(" from ({0}) as t ", _safesql);

sbsql.appendformat(" order by {0} ", sboriginalorder.tostring());

sbsql.append(" ) as t ");

sbsql.appendformat(" order by {0} ", sbreverseorder.tostring());

sbsql.append(" ) as t ");

sbsql.appendformat(" order by {0} ", sboriginalorder.tostring());

}

//后半頁數時的分頁

else

{

sbsql.appendformat(" select top {0} * from ", _pagesize);

sbsql.append(" ( ");

sbsql.appendformat(" select top {0} * ", ((_recordcount % _pagesize) + _pagesize * (pagecount - _pageindex)));

sbsql.appendformat(" from ({0}) as t ", _safesql);

sbsql.appendformat(" order by {0} ", sbreverseorder.tostring());

sbsql.append(" ) as t ");

sbsql.appendformat(" order by {0} ", sboriginalorder.tostring());

}

return sbsql.tostring();

}

/// <summary>

/// 獲取記錄總數sql語句

/// </summary>

/// <param name="_n">限定記錄數</param>

/// <param name="_safesql">sql查詢語句</param>

/// <returns>記錄總數sql語句</returns>

public static string createtopnsql(int _n, string _safesql)

{

return string.format(" select top {0} * from ({1}) as t ", _n, _safesql);

}

/// <summary>

/// 獲取記錄總數sql語句

/// </summary>

/// <param name="_safesql">sql查詢語句</param>

/// <returns>記錄總數sql語句</returns>

public static string createcountingsql(string _safesql)

{

return string.format(" select count(1) as recordcount from ({0}) as t ", _safesql);

}

}

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:mssql access top分頁方法
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
99精品视频一区| 欧美日韩国产精品专区| 一区二区高清视频| 亚洲国产另类久久久精品极度| 国产一级一区二区| 国产日产欧美精品| 欧美日韩国产黄| 久久天天狠狠| 亚洲美女毛片| 一区二区视频欧美| 国产精品久久久久77777| 午夜国产精品视频| 欧美色区777第一页| 欧美成人午夜剧场免费观看| 国产日产精品一区二区三区四区的观看方式 | 亚洲毛片一区| 亚洲精品专区| 国产精品一区亚洲| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美日本在线观看| 亚洲经典三级| 亚洲人成高清| 亚洲国产精品久久91精品| 一本色道88久久加勒比精品| 美日韩精品免费观看视频| 国产精品高潮呻吟久久av无限 | 另类天堂av| 在线电影院国产精品| 欧美v日韩v国产v| 亚洲欧美一区二区三区久久 | 欧美一站二站| 亚洲一区二区三区欧美| 国产日韩在线看| 欧美国产日韩xxxxx| 午夜欧美视频| 一区二区三区高清不卡| 亚洲高清网站| 国产精品magnet| 欧美+日本+国产+在线a∨观看| 亚洲专区一区二区三区| 99精品国产99久久久久久福利| 好吊日精品视频| 亚洲激情视频网站| 亚洲一级片在线看| 亚洲高清在线观看一区| av72成人在线| 欧美成人久久| 亚洲一区二区三区四区视频| aa级大片欧美| 久久综合久久综合这里只有精品| 免费看成人av| 国产精品一区二区在线观看不卡 | 一本色道**综合亚洲精品蜜桃冫| 在线中文字幕日韩| 亚洲男人的天堂在线| 免费欧美网站| 黄色一区二区三区| 亚洲一区久久久| 欧美老女人xx| 亚洲精品久久久久中文字幕欢迎你| 亚洲午夜高清视频| 欧美日韩国产一区| 亚洲七七久久综合桃花剧情介绍| 亚洲欧美美女| 日韩西西人体444www| 亚洲欧美成人一区二区在线电影| 久久国产精品久久w女人spa| 欧美精品免费看| 亚洲美女一区| 欧美色欧美亚洲另类二区| 在线观看欧美视频| 久久久久亚洲综合| 狠狠色狠狠色综合日日小说| 欧美一二三视频| 国产一区二区三区四区hd| 午夜亚洲福利| 在线播放日韩欧美| 欧美母乳在线| 性视频1819p久久| 在线电影院国产精品| 欧美日韩国产精品一区| 亚洲欧美一区二区原创| 国产一区91精品张津瑜| 久久久夜色精品亚洲| 亚洲国产日韩精品| 国产精品视频你懂的| 久久亚洲不卡| 亚洲一区二区精品在线观看| 欧美日韩日本网| 久久视频一区二区| 亚洲天堂偷拍| 亚洲精品影视在线观看| 国产精品毛片| 久久婷婷久久| 亚洲人成在线播放| 国产精品一区免费在线观看| 午夜精品久久久久久99热| 国产日韩一区| 国产精品免费视频xxxx| 狠狠狠色丁香婷婷综合激情| 老鸭窝毛片一区二区三区| 亚洲精选国产| 国产一区二区在线观看免费播放 | 亚洲一区二区在线视频| 国产亚洲aⅴaaaaaa毛片| 久久深夜福利| 午夜在线一区| 国产一区视频在线看| 欧美国产日韩精品免费观看| 亚洲一区二区三区四区五区黄 | 韩日成人在线| 欧美~级网站不卡| 欧美一区二区在线免费播放| 亚洲日本一区二区| 在线观看成人小视频| 国产一区二区欧美| 国产日产精品一区二区三区四区的观看方式 | 欧美丝袜一区二区| 久久久精品动漫| 午夜精品久久久久久久久久久| 一区二区三区在线高清| 久久精品成人一区二区三区| 99精品视频免费| **网站欧美大片在线观看| 国产精品欧美久久久久无广告| 免费观看欧美在线视频的网站| 香蕉av777xxx色综合一区| 在线亚洲欧美视频| 亚洲色图综合久久| 亚洲福利在线看| 最新国产成人av网站网址麻豆| 欧美日韩在线视频首页| 欧美二区在线观看| 欧美日韩精品综合| 国产精品九九| 激情婷婷欧美| 亚洲午夜av在线| 久久久综合激的五月天| 欧美精品久久一区| 国产精品一区二区三区观看| 黄色在线成人| 一区二区三区www| 一区二区三区久久久| 久久精品国产第一区二区三区| 欧美福利电影网| 国产精品午夜国产小视频| 国产精品一区久久久| 亚洲欧洲日本在线| 亚洲欧美日本国产有色| 欧美日韩mp4| 在线观看欧美黄色| 亚洲欧美日韩国产| 欧美视频专区一二在线观看| 在线观看日产精品| 久久久另类综合| 国产精品久久久久久久午夜片| 国内精品久久久久久久影视麻豆| 日韩写真在线| 欧美成人在线网站| 欧美系列精品| 亚洲欧洲在线一区| 久久一二三区| 在线成人激情视频| 理论片一区二区在线| 国产午夜久久| 久久午夜视频| 亚洲精品日产精品乱码不卡| 女主播福利一区| 亚洲国产精品电影| 欧美日韩播放| 午夜在线精品偷拍| 国产一区二区在线免费观看| 久久国产免费看| 亚洲国产电影| 在线一区二区三区做爰视频网站| 欧美精品videossex性护士| 99国产精品久久久| 欧美三级日本三级少妇99| 亚洲美女精品成人在线视频| 欧美凹凸一区二区三区视频| 99v久久综合狠狠综合久久| 欧美日韩中文在线| 国产一区二区福利| 免费观看久久久4p| 亚洲综合精品四区| 亚洲区一区二区三区| 国产精品制服诱惑| 欧美激情影院| 久久亚洲私人国产精品va| 久久精品国产久精国产爱| 一区二区三区波多野结衣在线观看| 国产精品影视天天线| 欧美精品日韩精品| 久久久精品久久久久| 亚洲经典在线| 亚洲欧洲美洲综合色网| 国产综合色一区二区三区 | 亚洲影院一区| 激情五月***国产精品| 国产精品综合|