• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關 閉

    新聞中心

    EEPW首頁 > 工控自動化 > 設計應用 > 華文學生計算機技能輔助系統中.NET程序技術

    華文學生計算機技能輔助系統中.NET程序技術

    作者: 時間:2011-12-09 來源:網絡 收藏

    Web應用程序是顯示數據庫中數據的一個非常好的方法,可以把業務復雜并有訪問規則和安全規則的數據庫數據以一種簡單、直觀的方式向用戶提供查詢和更新的功能。用戶判斷數據庫應用程序很常用的一個標準就是處理數據的快慢。許多Web頁面都向用戶提供了多種可搜索的列表顯示來有效地定位記錄的位置,一個比較簡單而且常用的例子就是在線圖書查詢系統,它允許用戶按作者、書名或者主題來檢索圖書信息。
     ASP.提供了一個DataGrid控件,可以比ASP更方便地創建數據列表,DataGrid控件除了內建的數據表現和方法之外,還允許用戶自己定義表現形式。分頁技術為用戶可管理的數據查找提供方便。DataGrid內建的分頁技術很容易實現,但數據量很大時,它的方便性是以犧牲性能為代價的。下面就看看如何通過自定義的分頁方法來快速處理大量數據的結果集。這里討論的方法比DataGrid的默認分頁方法更加快速和有效,這是因為每次請求不需要把全部的數據結果發送到Web服務器,相反,它只需要發送每個頁面需要的那些數據集。例如:一個用戶只要求100個頁面中每頁顯示25條記錄的第4頁的結果集,服務器只需要發送第75~100行的數據即可,而不是1~100行的完全數據。默認的傳送方式如圖2所示。

    本文引用地址:http://www.czjhyjcfj.com/article/202408.htm

    從圖2中可以看出,DataGrid的內建分頁方法效率不高,每次請求都必須把整個查詢結果發送給Web服務器,Web服務器再把數據分成相應的頁面。利用DataGrid的內建的分頁方法盡管很簡單,但是由于Web應用的無序性特征,一個用戶每次從一個頁面轉向另外一個頁面時,DataGrid對象都被銷毀并重新創建,這就意味著數據庫服務器每次都必須發送全部的結果集。
    自定義的分頁方法只返回所要檢索的那些結果集,如圖3所示。

    從圖3可以看到,數據庫每次只需要返回所要顯示的數據記錄。利用AspNetPager分頁導航,再自定義分頁存儲過程,提高分頁效率。
     一般來說使用存儲過程有以下優點:
    (1)減少網絡數據傳遞流量,提高T-SQL語句執行速度。用戶在使用到SQL語句時,如用戶進行數據查詢,數據插入時首先要把相關的SQL語句發送到SqlServer,在進行比較復雜的查詢等操作時就要頻繁向服務器發送這樣的SQL語句,浪費網絡帶寬,效率低下且加重服務器的負擔。而存儲過程經過編譯存放在服務器上,使用存儲過程要比單條SQL語句快得多。
    (2)適合模塊化編程,提高系統的通用性,存儲過程在被創建以后,可以在程序中被多次調用而不用重復編寫SQL語句。
    (3)可以更有效地管理用戶操作數據庫的權限,通過SqlServer分配權限更安全。
    部分代碼如下:
    CREATE procedure GetCiAll
    ( @pagesize int,
    @pageindex int,
    @docount bit )
    as
    set nocount on
    if(@docount=1)
    select count(id) from mingci
    else
    begin
    declare @indextable table(id int identity(1,1),nid int)
    declare @PageLowerBound int
    declare @PageUpperBound int
    set @PageLowerBound=(@pageindex-1)*@pagesize
    set @PageUpperBound=@PageLowerBound+@pagesize
    set rowcount @PageUpperBound
    insert into @indextable(nid) select id from mingci
    select*from mingci O,@indextable t where O.id=t.nid
    and t.id>@PageLowerBound and t.id=
    @PageUpper
    Bound order by t.id
    end
    set nocount off
    GO
     對來華學習漢語的華文教育專業本科一年級的學生進行實驗,實驗總抽樣人數為20人,其中平時學習和測試中使用本系統的有10人,應用傳統方式學習的有10人。經過一個學期的學習,學期末進行測試,結果表明借助于學習和測試的同學的成績普遍好于未使用該系統的學生。
     本文通過分析.技術的特點以及華文學生的學習和測試的現狀, 發現.技術非常適合于華文的建設。通過使用.NET自定義分頁技術應用于華文學生計算機技能學習減少了客戶端和服務器的數據交互量,減少了帶寬的占用。隨著中國華文教育及世界華文教育的發展,計算機輔助系統將成為課程教學和測試的主要輔助工具,.NET技術和學科的結合將更加緊密。
    參考文獻
    [1] 中國華文教育網.http://www.hwjyw.com.
    [2] 何克抗,許駿. IT 技能測評自動化[M].北京:科學出版社, 2005.
    [3] GENEEN S. Computer assisted-assessment: staff viewpoints on its Introduction Within a New University [J]. Innovation Teching International,2002,39(2):145 - 153.
    [4] 陳冠軍. 征服ASP. NET 2. 0 AJAX-開發技術詳解[M]. 北京:人民郵電出版社,2007.
    [5] 馬軍.精通ASP.NET 2.0 網絡應用系統開發[M]. 北京:人民郵電出版社,2006.


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 禄丰县| 抚宁县| 白朗县| 柞水县| 延川县| 广州市| 仪征市| 资阳市| 滦平县| 淮滨县| 文登市| 和林格尔县| 交口县| 宁波市| 新绛县| 杭州市| 曲周县| 靖远县| 福海县| 湛江市| 肇源县| 邢台市| 渝中区| 右玉县| 邵阳市| 宁强县| 龙里县| 文水县| 织金县| 衡山县| 临朐县| 辽源市| 博爱县| 峡江县| 阿鲁科尔沁旗| 阿拉善左旗| 繁峙县| 东兰县| 沾化县| 安泽县| 伊川县|