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

mssql access top分頁方法
來源:易賢網 閱讀:1030 次 日期:2014-10-16 09:49:33
溫馨提示:易賢網小編為您整理了“mssql access top分頁方法”,方便廣大網友查閱!

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)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美女同视频| 欧美视频在线观看 亚洲欧| 国产美女扒开尿口久久久| 亚洲欧美日韩另类精品一区二区三区| 国产欧美精品| 欧美护士18xxxxhd| 久久激情综合网| 亚洲一区三区视频在线观看| 亚洲福利专区| 国产日韩成人精品| 女仆av观看一区| 香蕉免费一区二区三区在线观看| 亚洲日本欧美在线| 国内精品视频在线观看| 国产精品qvod| 欧美精品啪啪| 可以看av的网站久久看| 亚洲欧美综合v| 在线视频中文亚洲| 亚洲人成网站色ww在线| 有码中文亚洲精品| 国产亚洲精品自拍| 国产精品永久免费视频| 国产精品国产a| 欧美日韩在线观看视频| 欧美精品观看| 免费观看成人| 久久久天天操| 久久久噜久噜久久综合| 欧美一区二区三区免费观看视频| 亚洲午夜激情| 中日韩午夜理伦电影免费| 91久久久精品| 影音先锋一区| 在线精品国产成人综合| 国产一区美女| 国产在线不卡精品| 国产尤物精品| 久久riav二区三区| 一区二区高清| 国产伦精品一区二区三区四区免费 | 亚洲国产成人高清精品| 国产亚洲aⅴaaaaaa毛片| 国产免费成人| 国产视频自拍一区| 国产亚洲欧洲| 国产性色一区二区| 国产在线欧美| 一区二区亚洲精品国产| 在线欧美一区| 亚洲第一偷拍| 亚洲乱码国产乱码精品精可以看| 亚洲精品你懂的| 亚洲第一在线| 亚洲福利专区| 亚洲精品国产系列| 99亚洲一区二区| 在线综合视频| 欧美亚洲一区二区在线| 久久成人免费网| 久久男女视频| 欧美高清在线一区二区| 欧美紧缚bdsm在线视频| 欧美日韩美女一区二区| 国产精品高精视频免费| 国产精品露脸自拍| 国产一区二区在线观看免费播放| 激情久久久久久| 亚洲精一区二区三区| 亚洲一区视频| 老牛影视一区二区三区| 欧美区在线播放| 国产欧美韩日| 91久久久一线二线三线品牌| 一区二区三区久久久| 欧美一进一出视频| 美女福利精品视频| 欧美日韩精品欧美日韩精品| 国产精品亚洲综合久久| 精品成人国产| 一本久道久久综合狠狠爱| 午夜精品久久久久久久99热浪潮 | 欧美日韩一区二区三区免费| 国产精品美女久久久免费| 国模精品娜娜一二三区| 日韩视频国产视频| 欧美在线高清视频| 欧美激情影院| 国产欧美日韩一区二区三区在线观看| 狠狠色丁香久久综合频道 | 欧美午夜国产| 国语自产精品视频在线看一大j8| 亚洲精品视频一区二区三区| 午夜免费电影一区在线观看| 欧美成人免费全部| 国产欧美日韩一区二区三区在线观看| 亚洲国产一成人久久精品| 亚洲永久在线观看| 美女91精品| 国产日本欧美一区二区三区在线| 亚洲国产精选| 欧美在现视频| 欧美日韩在线看| 在线成人黄色| 亚洲男人第一网站| 欧美激情一区二区三区四区| 国产在线拍揄自揄视频不卡99| 一本色道久久综合狠狠躁篇怎么玩| 香蕉久久夜色精品国产| 欧美—级高清免费播放| 激情文学一区| 亚洲一区二区三区中文字幕在线 | 久久精品五月婷婷| 欧美丝袜一区二区三区| 在线观看亚洲视频| 亚洲免费视频中文字幕| 欧美国产综合视频| 一区在线视频观看| 亚洲综合首页| 欧美日韩dvd在线观看| 一区二区视频免费完整版观看| 亚洲视频免费看| 欧美电影在线观看| 激情综合色综合久久| 午夜精品免费| 欧美日韩美女在线观看| 1024日韩| 久久在线免费视频| 国产一区999| 午夜天堂精品久久久久| 欧美午夜视频在线| 在线视频亚洲一区| 欧美日韩一区二区三区四区五区 | 亚洲国产裸拍裸体视频在线观看乱了| 性18欧美另类| 国产麻豆综合| 亚洲综合成人在线| 欧美小视频在线观看| 99视频一区二区| 欧美日韩精品是欧美日韩精品| 亚洲欧洲三级电影| 欧美成人精品在线观看| 亚洲福利在线视频| 裸体女人亚洲精品一区| 在线播放中文一区| 狂野欧美激情性xxxx欧美| 国产亚洲欧美日韩一区二区| 性欧美videos另类喷潮| 国产精品一区二区a| 亚洲中午字幕| 国产模特精品视频久久久久| 亚洲欧美在线一区二区| 国产色综合网| 久久综合国产精品台湾中文娱乐网| 一区一区视频| 欧美顶级少妇做爰| 亚洲美女淫视频| 欧美日韩国产黄| 亚洲图片在线观看| 国产精品国产一区二区| 欧美另类视频在线| 亚洲国产欧洲综合997久久| 久久偷看各类wc女厕嘘嘘偷窃| 激情久久综合| 免费成人av资源网| 亚洲人成精品久久久久| 欧美精品久久一区| 99精品国产高清一区二区| 欧美午夜精品理论片a级按摩| 亚洲午夜黄色| 国产欧美欧洲在线观看| 久久国产天堂福利天堂| 韩国av一区二区三区四区| 老司机精品福利视频| 亚洲国产欧美日韩| 欧美日韩亚洲三区| 亚洲欧美日韩精品一区二区| 国产综合欧美在线看| 欧美va亚洲va国产综合| 亚洲无线一线二线三线区别av| 国产欧美精品| 欧美大片91| 亚洲欧美卡通另类91av| 黄色影院成人| 欧美激情精品久久久久久黑人| 亚洲一区二区精品在线观看| 韩日成人在线| 欧美日韩一区二区三区在线看 | 在线精品视频一区二区三四| 欧美国产日韩一区二区三区| 在线亚洲一区| 国产日韩欧美麻豆| 欧美gay视频激情| 亚洲欧美成人网| 亚洲大胆人体视频| 国产精品chinese| 久久综合久久综合这里只有精品| 一本综合精品| 伊人天天综合| 国产精品推荐精品|