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

mssql access top分頁方法
來源:易賢網(wǎng) 閱讀:1155 次 日期:2014-10-22 09:53:16
溫馨提示:易賢網(wǎng)小編為您整理了“mssql access top分頁方法”,方便廣大網(wǎng)友查閱!

mssql access top分頁方法

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

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

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

using system;

using system.collections.generic;

using system.text;

/// <summary>

/// 構(gòu)造分頁后的sql語句

/// </summary>

public static class paginghelper

{

/// <summary>

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

/// </summary>

/// <param name="_recordcount">記錄總數(shù)</param>

/// <param name="_pagesize">每頁記錄數(shù)</param>

/// <param name="_pageindex">當(dāng)前頁數(shù)</param>

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

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

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

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

{

//重新組合排序字段,防止有錯(cuò)誤

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(" "); //判斷是否有升降標(biāo)識(shí)

if (index > 0)

{

//替換升降標(biāo)識(shí),分頁所需

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]);

}

}

//計(jì)算總頁數(shù)

_pagesize = _pagesize == 0 ? _recordcount : _pagesize;

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

//檢查當(dāng)前頁數(shù)

if (_pageindex < 1)

{

_pageindex = 1;

}

else if (_pageindex > pagecount)

{

_pageindex = pagecount;

}

stringbuilder sbsql = new stringbuilder();

//第一頁時(shí),直接使用top n,而不進(jìn)行分頁查詢

if (_pageindex == 1)

{

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

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

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

}

//最后一頁時(shí),減少一個(gè)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());

}

//前半頁數(shù)時(shí)的分頁

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());

}

//后半頁數(shù)時(shí)的分頁

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>

/// 獲取記錄總數(shù)sql語句

/// </summary>

/// <param name="_n">限定記錄數(shù)</param>

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

/// <returns>記錄總數(shù)sql語句</returns>

public static string createtopnsql(int _n, string _safesql)

{

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

}

/// <summary>

/// 獲取記錄總數(shù)sql語句

/// </summary>

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

/// <returns>記錄總數(shù)sql語句</returns>

public static string createcountingsql(string _safesql)

{

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

}

}

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
易賢網(wǎng)手機(jī)網(wǎng)站地址:mssql access top分頁方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美成人中文字幕| 亚洲午夜影视影院在线观看| 激情成人综合| 久久久久久**毛片大全| 国语精品中文字幕| 欧美黄色免费网站| 亚洲精一区二区三区| 国产精品区二区三区日本 | 欧美精品福利| 午夜免费在线观看精品视频| 在线播放国产一区中文字幕剧情欧美| 欧美激情精品久久久久久黑人| 午夜精品久久久久久99热软件| 亚洲欧洲日本在线| 黄色成人片子| 国内一区二区三区| 国内精品视频一区| 国产欧美在线| 国产精品久久久久久久久免费桃花| 欧美大片专区| 欧美成人国产| 久久久精品午夜少妇| 欧美亚洲免费| 久久国产高清| 久久久欧美精品| 久久精品国产亚洲一区二区| 一个色综合导航| 一区二区三区久久精品| 亚洲免费成人av| 亚洲全黄一级网站| 亚洲视频999| 久久av最新网址| 欧美成人国产一区二区| 欧美精品久久久久久| 国产精品二区二区三区| 国产欧美精品| 亚洲人成人一区二区在线观看| 9久草视频在线视频精品| 亚洲在线视频观看| 久久一区二区三区四区五区| 欧美精品久久久久久久| 国产精品毛片在线| 最新国产成人av网站网址麻豆| 亚洲神马久久| 欧美大胆人体视频| 国产午夜亚洲精品理论片色戒| 亚洲国产精品悠悠久久琪琪| 夜夜精品视频| 女主播福利一区| 国模套图日韩精品一区二区| 日韩西西人体444www| 久久久激情视频| 国产精品你懂的在线欣赏| 怡红院精品视频| 久久精品首页| 国产一区二区无遮挡| 亚洲女ⅴideoshd黑人| 欧美日韩高清在线| 99视频精品| 欧美精品粉嫩高潮一区二区| 国产三区二区一区久久| 午夜精品免费| 国产精品国产精品| 亚洲资源在线观看| 国产欧美日韩免费| 欧美一区二区三区四区视频| 国产精品五月天| 午夜一区在线| 国产在线观看一区| 久久免费精品视频| 亚洲精品免费一二三区| 国产综合视频在线观看| 欧美国产视频在线观看| 亚洲婷婷在线| 欧美三级资源在线| 午夜日韩av| 欧美日韩国产123| 一区二区三区国产精品| 国产精品久久久久久久久免费樱桃 | 一本色道久久88综合亚洲精品ⅰ | 国产精品免费观看在线| 久久久91精品国产| 一区二区欧美精品| 亚洲一二三区视频在线观看| 国产日韩一区在线| 国产精品美女www爽爽爽| 欧美成人综合一区| 亚洲小少妇裸体bbw| 在线看日韩欧美| 国产欧美日韩另类一区| 欧美另类在线播放| 牛夜精品久久久久久久99黑人| 亚洲午夜精品久久| 一区二区三区成人| 日韩一级在线| 亚洲国产精品一区| 黄色在线一区| 黑人一区二区三区四区五区| 日韩一区二区福利| 亚洲电影网站| 国色天香一区二区| 韩日精品在线| 亚洲黄网站黄| 91久久午夜| 亚洲一区二区精品在线观看| 99re这里只有精品6| 亚洲天堂av综合网| 午夜精品福利视频| 久久人91精品久久久久久不卡| 久久久久久久久久看片| 久久久久国产精品一区三寸| 蜜桃精品久久久久久久免费影院| 久久久国际精品| 欧美精品入口| 国产欧美精品一区二区色综合| 国产亚洲成人一区| 亚洲激情在线| 欧美在线看片a免费观看| 免费在线国产精品| 国产精品自拍网站| 日韩视频久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美区二区三区| 国外成人在线| 亚洲欧美国产高清va在线播| 麻豆91精品| 国内精品一区二区三区| 亚洲天堂成人| 欧美日韩中文字幕在线视频| 影院欧美亚洲| 久久精品色图| 国产亚洲精品久久久| 国产一区二区三区久久悠悠色av | 国产一区二区三区最好精华液| 日韩一级精品| 欧美韩国一区| 亚洲精品欧美在线| 国产精品九九久久久久久久| 亚洲国产高清自拍| 欧美大片一区二区| 亚洲日韩视频| 国产精品免费一区二区三区观看| 亚洲尤物影院| 国产毛片一区二区| 亚洲一区二区成人在线观看| 国产精品视频xxx| 久久久7777| 亚洲激情电影在线| 欧美三日本三级少妇三99| 一本综合久久| 狠狠色狠狠色综合日日tαg| 另类春色校园亚洲| 亚洲制服少妇| 在线欧美亚洲| 国产精品一区二区男女羞羞无遮挡 | 久久综合伊人77777麻豆| 国产精品一区二区在线观看网站 | 久久久久久亚洲精品杨幂换脸| 国产人成精品一区二区三| 久久久噜噜噜久久狠狠50岁| 在线不卡中文字幕| 欧美日产国产成人免费图片| 亚洲女人小视频在线观看| 黄色综合网站| 欧美精品免费在线观看| 午夜一级久久| 一本大道久久精品懂色aⅴ| 国产欧美日韩另类视频免费观看| 欧美福利视频一区| 久久久久久久综合色一本| 一区二区免费在线视频| 国产一在线精品一区在线观看| 欧美高清在线视频观看不卡| 欧美主播一区二区三区| 亚洲一区二区三区国产| 亚洲第一主播视频| 国产一区二区黄| 国产一区二区三区四区hd| 国产九区一区在线| 国产美女搞久久| 国产精品久久久亚洲一区| 欧美日韩中文在线| 欧美日韩色婷婷| 欧美体内谢she精2性欧美| 欧美日本不卡| 欧美天天在线| 国产欧美不卡| 国产一区二区高清| 最近中文字幕日韩精品| 亚洲伦理精品| 亚洲欧美经典视频| 久久久久www| 欧美福利精品| 国产精品视频导航| 国产午夜精品久久久久久免费视| 激情欧美一区二区三区在线观看| 亚洲国产三级| 欧美与欧洲交xxxx免费观看| 久久综合狠狠综合久久激情| 欧美激情一区二区三区蜜桃视频|