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

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)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
久久精品国产亚洲高清剧情介绍| 国产精品午夜春色av| 久久婷婷国产综合精品青草| 国产精品欧美在线| 欧美专区一区二区三区| 国产日韩在线一区| 久久综合伊人77777麻豆| 在线播放日韩欧美| 欧美极品aⅴ影院| 宅男精品导航| 国产欧美一区二区精品性| 国产精品女同互慰在线看| 午夜在线电影亚洲一区| 亚洲精品日韩在线| 国产麻豆精品视频| 久久―日本道色综合久久| 亚洲国内精品在线| 欧美日韩一级大片网址| 亚洲欧美日韩国产精品 | 欧美精品v国产精品v日韩精品| 99在线精品视频| 国产亚洲精品成人av久久ww| 欧美二区在线播放| 午夜精品久久久久| 亚洲精品国产精品国自产观看浪潮| 国产精品久久久久天堂| 女主播福利一区| 久久精品九九| 亚洲综合日韩| 亚洲片在线资源| 红桃视频国产精品| 国产精品日本精品| 欧美日韩一卡| 欧美日本一区二区三区 | 欧美第一黄色网| 亚洲综合色视频| 日韩亚洲欧美综合| 在线观看成人小视频| 国产欧美精品国产国产专区| 欧美久久一级| 免费不卡在线视频| 久久久久国色av免费观看性色| 亚洲免费视频网站| 日韩亚洲在线观看| 亚洲国内精品| 在线视频国内自拍亚洲视频| 国产视频一区三区| 国产视频久久久久久久| 国产精品久久久久久久久久久久久| 欧美精品在线视频观看| 欧美成人免费在线视频| 六月婷婷一区| 美女91精品| 欧美风情在线观看| 国产精品美腿一区在线看 | 欧美丰满高潮xxxx喷水动漫| 久久午夜精品一区二区| 另类亚洲自拍| 欧美寡妇偷汉性猛交| 欧美成人午夜| 欧美精品一区二区三区在线播放 | 亚洲成人中文| 激情欧美日韩| 亚洲激情亚洲| 亚洲看片免费| 中国成人亚色综合网站| 亚洲欧美另类在线| 久久久www成人免费精品| 久久久久久久一区二区三区| 久热国产精品视频| 欧美久色视频| 国产精品theporn| 国产精品一页| 影音先锋日韩精品| 亚洲毛片网站| 亚洲一区二区网站| 久久国产精品久久w女人spa| 久久久久青草大香线综合精品| 久久综合中文| 欧美顶级少妇做爰| 欧美另类一区二区三区| 欧美日韩亚洲在线| 国产精品视频一二三| 欧美午夜不卡影院在线观看完整版免费| 欧美激情国产日韩| 欧美日韩一区二区在线播放| 欧美日韩国语| 国产欧美一区二区视频| 国产亚洲a∨片在线观看| 在线观看亚洲一区| 中文精品一区二区三区| 亚洲一级在线| 日韩亚洲视频在线| 亚洲欧洲精品一区二区| 99re国产精品| 久久国产直播| 欧美不卡一卡二卡免费版| 欧美日韩国产一区精品一区| 欧美在线视频全部完| 久久福利视频导航| 久久在线视频| 欧美大胆a视频| 国产精品剧情在线亚洲| 亚洲国产精品成人一区二区 | 亚洲特级毛片| 久久成人精品无人区| 欧美日韩国产综合视频在线观看| 国产精品多人| 亚洲国产天堂网精品网站| 欧美一区二区三区另类| 欧美激情1区2区| 尤物99国产成人精品视频| 宅男噜噜噜66一区二区| 99在线精品观看| 久久精品观看| 欧美精品日韩www.p站| 国产一区二区三区免费观看| 在线综合视频| 免费在线播放第一区高清av| 国产精品毛片大码女人| 久久精品人人做人人爽电影蜜月| 欧美高清视频www夜色资源网| 国产人妖伪娘一区91| 午夜精彩国产免费不卡不顿大片| 欧美激情一二区| 亚洲国产日韩美| 欧美日韩成人激情| 亚洲经典一区| 久久久久久亚洲精品中文字幕| 国产精品乱人伦中文| 亚洲一区二区三区精品在线| 久久美女性网| 狠狠色丁香婷婷综合影院| 久久久av水蜜桃| 国产一区二区| 先锋影音一区二区三区| 国产精品男女猛烈高潮激情| 亚洲一区二区3| 国产精品国码视频| 亚洲在线一区二区| 国产视频亚洲精品| 久久蜜桃av一区精品变态类天堂| 国产日韩精品在线观看| 欧美在线观看视频一区二区三区| 国产精品久久久久影院色老大| 一区二区三区蜜桃网| 欧美国产一区二区| 日韩一区二区福利| 欧美日本视频在线| 一本综合久久| 国产欧美日韩另类视频免费观看| 午夜影院日韩| 国产专区综合网| 欧美国产一区视频在线观看| 亚洲精品日韩久久| 欧美日本亚洲韩国国产| 欧美在线观看一区二区三区| 国产一区二区三区精品久久久 | 欧美成人中文字幕| 亚洲福利视频在线| 蜜臀91精品一区二区三区| 在线激情影院一区| 欧美涩涩网站| 久久久久久国产精品一区| 亚洲国产精品国自产拍av秋霞| 欧美日韩免费区域视频在线观看| 在线视频你懂得一区二区三区| 国产精品高清在线| 久久久国产亚洲精品| 亚洲国产小视频在线观看| 欧美国产第二页| 久久精品青青大伊人av| 亚洲国产欧美一区| 国产精品sss| 欧美成人小视频| 亚洲在线1234| 亚洲国产一区视频| 国产精品久久毛片a| 免费看的黄色欧美网站| 一区二区三区www| 国产精品色在线| 欧美—级在线免费片| 久久成人人人人精品欧| 99精品福利视频| 亚洲国产专区校园欧美| 国产精品揄拍一区二区| 欧美日韩国产天堂| 一区二区亚洲精品国产| 国产精品美女久久福利网站| 欧美不卡高清| 久久久av毛片精品| 午夜精品网站| 亚洲欧美大片| 亚洲最黄网站| 激情一区二区三区| 黄色在线成人| 国产日产亚洲精品| 欧美日韩三区| 欧美日韩在线视频首页| 欧美电影在线观看|