亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Asp.net 通用萬(wàn)級(jí)數(shù)據(jù)分頁(yè)代碼[修正下載地址]

 更新時(shí)間:2008年10月07日 13:48:58   作者:  
在萬(wàn)級(jí)數(shù)據(jù)量下的分頁(yè)代碼
1.主題,Asp.net環(huán)境下,通用的數(shù)據(jù)分頁(yè)(包括Oracle,SqlServer,DB2...)
很久以前,就想做一個(gè)通用點(diǎn)的數(shù)據(jù)分頁(yè)組件,但苦于一直沒(méi)有充足的時(shí)間,所以遲遲沒(méi)有實(shí)現(xiàn)(當(dāng)然,主要是因?yàn)橛幸欢ǖ碾y度,要處理視圖狀態(tài),回傳事件,自繪等...),"十一"期間,陪女朋友去了躺"湘西",白天游山玩水,晚上無(wú)事,吃吃當(dāng)?shù)氐囊瓜?無(wú)聊之際,google了一把Oracle的數(shù)據(jù)分頁(yè),竟然沒(méi)有一個(gè)完整的關(guān)于Asp.net + Oracle數(shù)據(jù)分頁(yè)的例子,要不就是有版本問(wèn)題,索性決定自己弄一個(gè).
2.環(huán)境
IDE;vs2008+asp.net2.0 or 3.0+Oracle9i
Oracle測(cè)試數(shù)據(jù);41萬(wàn)多條
帶寬;網(wǎng)通說(shuō)是有2M的帶寬,其實(shí)TNND只有100多KB
3.原理
利用Oracle9i的RowNum獲取我們想要的數(shù)據(jù),如圖3.1
復(fù)制代碼 代碼如下:

public IEnumerable GetPageSqlByOracle(string sql, int startRowIndex, int maximumRows, string orderBy)
{
string sqlFormat = string.Format("select * from (select rownum rn, pageTable.* from {0} pageTable where rownum <={1}) where rn>{2}", sql, startRowIndex + maximumRows, startRowIndex);

return ydjwOracleConn.RetriveDataSet(sqlFormat).Tables[0].DefaultView;
}

startRowIndex表示開(kāi)始索引,maximumRows表示要獲取的每頁(yè)記錄數(shù)目.

然后把分頁(yè)后的數(shù)據(jù)綁定到ObjectDataSource組件,如下圖

    

4.效果

 

4.1 支持多排序,比如時(shí)間,比如身份證明號(hào)碼等

4.2 41萬(wàn)多條數(shù)據(jù)

4.3 單條件查詢(xún),第一次用時(shí)1.547秒

4.4 第二次,用時(shí)1.515秒

第三次差不多,就不貼了.

4.5 看看不帶條件的查詢(xún),一次把41萬(wàn)條數(shù)據(jù)全部查詢(xún)出來(lái)使用的時(shí)間

可以看到,不帶條件查詢(xún)41萬(wàn)條數(shù)據(jù),第一次用時(shí)1.265秒.


4.6 可以看到不帶條件查詢(xún)41萬(wàn)條數(shù)據(jù),第二次用時(shí)1.156秒
4.7 可用SqlServer,或者Db2等數(shù)據(jù)庫(kù)代替,只需要修改 圖3.1獲取數(shù)據(jù)的方法,其他地方不用動(dòng).
5.需要注意的地方
5.1 記得數(shù)據(jù)量上萬(wàn)時(shí),一定要加索引,否則要等得"花謝花開(kāi)".
5.2 ObjectDataSource的所有參數(shù)名稱(chēng),一定要和綁定的方法參數(shù)名稱(chēng),順序一致.
5.3 能用緩存的,盡量用緩存
5.4 SqlServer的分頁(yè)算法,就不說(shuō)了,替換一下圖3.1的方法就行
5.5 因?yàn)閿?shù)據(jù)庫(kù)文件實(shí)在太大,不方便下載,有興趣的朋友自己弄一張表就OK,加上webconfig中的數(shù)據(jù)庫(kù)連接配置
6.下載
測(cè)試Demo下載 http://xiazai.jb51.net/200810/yuanma/TestDataBindControlls.rar 【已修正】
7.后話
該說(shuō)的都說(shuō)了,希望對(duì)大家能有所幫助啟發(fā),還有就是此測(cè)試Demo還沒(méi)有加緩存,有興趣的朋友可以加上,歡迎大家討論,批評(píng),指導(dǎo)...

相關(guān)文章

  • ASP.NET中保護(hù)自定義的服務(wù)器控件

    ASP.NET中保護(hù)自定義的服務(wù)器控件

    本文提供了針對(duì)自定義服務(wù)器控件的用戶(hù)和開(kāi)發(fā)人員的基本安全準(zhǔn)則。適合初學(xué)者,希望對(duì)你有幫助,一起來(lái)看。
    2015-10-10
  • ASP.NET Core中如何使用表達(dá)式樹(shù)創(chuàng)建URL詳解

    ASP.NET Core中如何使用表達(dá)式樹(shù)創(chuàng)建URL詳解

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何使用表達(dá)式樹(shù)創(chuàng)建URL的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • C#中常用的IO操作介紹

    C#中常用的IO操作介紹

    這篇文章介紹了C#中常用的IO操作,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • vs2010顯示代碼行數(shù)的方法

    vs2010顯示代碼行數(shù)的方法

    這篇文章主要為大家詳細(xì)介紹了如何在vs2010中顯示代碼的行數(shù),僅要三步實(shí)現(xiàn)代碼行數(shù)顯示,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • asp.net access web.config denied

    asp.net access web.config denied

    如果出現(xiàn)這個(gè)問(wèn)題,最好首先檢查一下ASPNET的帳號(hào),是否有訪問(wèn)權(quán)限。
    2009-04-04
  • MVC異常處理詳解

    MVC異常處理詳解

    這篇文章主要為大家詳細(xì)介紹了MVC異常處理的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 如何在.net6webapi中使用自動(dòng)依賴(lài)注入

    如何在.net6webapi中使用自動(dòng)依賴(lài)注入

    IOC/DI是一種設(shè)計(jì)模式,用于解耦組件之間的依賴(lài)關(guān)系,在傳統(tǒng)的編程模式中,組件之間的依賴(lài)關(guān)系是硬編碼在代碼中的,這樣會(huì)導(dǎo)致代碼的耦合度很高,難以維護(hù)和發(fā)展,這篇文章主要介紹了如何在.net6webapi中實(shí)現(xiàn)自動(dòng)依賴(lài)注入,需要的朋友可以參考下
    2023-06-06
  • ASPNET按鈕只執(zhí)行客戶(hù)端代碼不回送頁(yè)面實(shí)現(xiàn)思路

    ASPNET按鈕只執(zhí)行客戶(hù)端代碼不回送頁(yè)面實(shí)現(xiàn)思路

    有些時(shí)候需要實(shí)現(xiàn)只執(zhí)行客戶(hù)端代碼不回送頁(yè)面,不過(guò)很多童鞋們不清楚如何實(shí)現(xiàn)呢,還好本文的出現(xiàn)將解決你的困擾,感興趣的朋友可以了解下,或許對(duì)你有所幫助
    2013-02-02
  • asp.net中Fine Uploader文件上傳組件使用介紹

    asp.net中Fine Uploader文件上傳組件使用介紹

    最近在處理后臺(tái)數(shù)據(jù)時(shí)需要實(shí)現(xiàn)文件上傳.考慮到對(duì)瀏覽器適配上采用Fine Uploader. Fine Uploader 采用ajax方式實(shí)現(xiàn)對(duì)文件上傳.同時(shí)在瀏覽器中直接支持文件拖拽[對(duì)瀏覽器版本有要求類(lèi)似IE版本必須是9或是更高的IE10].
    2013-01-01
  • DataGrid 動(dòng)態(tài)添加模板列 實(shí)現(xiàn)代碼

    DataGrid 動(dòng)態(tài)添加模板列 實(shí)現(xiàn)代碼

    模版控件能讓用戶(hù)幾乎不用花費(fèi)任何時(shí)間就創(chuàng)建出復(fù)雜的用戶(hù)界面. Asp.net有很多控件都使用了模版技術(shù)(DataGrid就是一個(gè)例子). 而這些控件都工作得很好, 通常, 模版可以被保存為ascx文件以增加復(fù)用性. 很有可能, 事前你是不知道你的控件是怎么布局的, 而且你需要?jiǎng)討B(tài)的添加一些模版以應(yīng)付不同的事件.
    2009-04-04

最新評(píng)論