張勇
(巢湖學院信息工程學院,安徽 巢湖 238000)
《ASP.NET》課程中數(shù)據(jù)庫模塊的漸近式教學研究
張勇
(巢湖學院信息工程學院,安徽 巢湖 238000)
ASP.NET中應用程序訪問數(shù)據(jù)庫有著多種方法,在教學中應該循序漸進引入各種方法,讓每一種方法在具體的應用開發(fā)中都能找到其落腳點。針對ASP.NET課程的應用性,結合教學實踐,設計了應用程序訪問數(shù)據(jù)庫在教學中的四個階段,并且給出了具體的實例。
ASP.NET;應用程序;數(shù)據(jù)庫
ASP.NET[1-2]是當前主流的動態(tài)網(wǎng)站設計技術之一,已在很多站點中得到實踐。而數(shù)據(jù)庫是ASP.NET網(wǎng)站的核心,網(wǎng)站中很多數(shù)據(jù)是存放在數(shù)據(jù)庫中的,頁面與數(shù)據(jù)庫之間可以實現(xiàn)交互。如何在應用程序中訪問數(shù)據(jù)庫是ASP.NET課程重要教學模塊。對數(shù)據(jù)庫的訪問有多種方法包括數(shù)據(jù)控件[3-4]、ADO.NET[5-8]及LINQ技術[9]等。如何讓學生循序漸進地掌握這些方法,在具體開發(fā)中選擇適合的方法是ASP.NET教學中值得研究的。本文結合教學實踐從四個階段闡述了數(shù)據(jù)庫模塊的漸近式教學,實踐證明這種教學方式能夠有效提高學生應用開發(fā)能力。
應用程序訪問數(shù)據(jù)庫的方法較多,在具體的教學中對這多種方法可以采用漸近式教學,由淺入深,這一過程可分四個階段實施,這種教學設計不僅可以使得學生系統(tǒng)掌握應用程序訪問數(shù)據(jù)庫的方法,而且知道每一種方法的適用場合及所具有的優(yōu)勢或局限性,使得學生可以在應用開發(fā)中靈活選擇相關方法。
2.1 階段一:使用數(shù)據(jù)控件訪問數(shù)據(jù)庫
.NET開發(fā)的目標是減少代碼的編寫,可充分利用現(xiàn)有的控件,使用數(shù)據(jù)源控件AccessData-Source或SqlDataSource連接數(shù)據(jù)庫,配置數(shù)據(jù)源的過程均在對話框中完成。如果對數(shù)據(jù)庫的操作是查詢,將結果在頁面顯示可以使用數(shù)據(jù)顯示控件GridView、DataList或FormView等,將其與查詢結果綁定,而且可以實現(xiàn)分頁、排序和編輯等功能,整個對數(shù)據(jù)庫的訪問幾乎不涉及任何代碼的編寫,顯然這一階段可以使初學者迅速入門,充分調(diào)動其學習熱情。
2.2 階段二:使用ADO.NET訪問數(shù)據(jù)庫(連接模式)
使用控件訪問固然簡單,但是也有其局限性。如果應用程序需要對數(shù)據(jù)庫進行復雜的操作或者需要獲取、操作數(shù)據(jù)更加靈活,這時使用數(shù)據(jù)控件可能功能受限,而且維護和修改也不方便,由此可以使用ADO.NET訪問數(shù)據(jù)庫。ADO. NET提供了組件功能強大的.NET類,使用它們可以完成對數(shù)據(jù)庫的訪問。使用ADO.NET訪問數(shù)據(jù)庫主要有連接方式和斷開方式。連接方式中通常使用DataReader。其步驟是:使用Connection對象建立數(shù)據(jù)庫連接、使用Connection對象的open方法打開數(shù)據(jù)庫連接、利用Command對象設置 sql詢語句、調(diào)用 Command對象的 ExecuteReader方法,將數(shù)據(jù)讀入DataReader對象中、調(diào)用DataReader的Read或者Get方法讀取數(shù)據(jù)、調(diào)用Connection對象的Close方法,關閉數(shù)據(jù)庫連接。
執(zhí)行SQL后,可以得到DataReader對象引用的數(shù)據(jù)行,這個過程中一直保持與數(shù)據(jù)庫的連接。
2.3 階段三:使用ADO.NET訪問數(shù)據(jù)庫(斷開方式)
基于連接方式對數(shù)據(jù)庫的的操作,它只能逐行訪問數(shù)據(jù)庫且只讀,若要求任意訪問某行數(shù)據(jù)或修改數(shù)據(jù),使用DataReader顯然不方便。另一方面,應用程序的目標應該是盡量減少數(shù)據(jù)庫的連接時間,以減輕數(shù)據(jù)庫服務器的負擔,由此斷開式訪問應運而生。
DataSet即內(nèi)存數(shù)據(jù)庫,它是斷開式訪問的核心,可以通過數(shù)據(jù)適配器的Fill方法將數(shù)據(jù)填充到內(nèi)存數(shù)據(jù)庫中,之后與數(shù)據(jù)庫服務器的連接就斷開了。斷開后可以對內(nèi)存數(shù)據(jù)庫中的數(shù)據(jù)表進行讀取或更改,還可以將更改結果更新到原始數(shù)據(jù)庫中。顯然,斷開式訪問可以緩解數(shù)據(jù)庫服務器的壓力,一般在需要對數(shù)據(jù)庫進行復雜操作或需長時間交互處理的情況下可以使用這種方式。使用Dataset對象讀取數(shù)據(jù)可以通過下面步驟:用 Connection對象建立數(shù)據(jù)庫連接、利用DataAdapter對象設置操作、使用DataAdapter對象的Fill方法將數(shù)據(jù)填充到DataSet中的DataT-able中、DataSet綁定到顯示控件上。
如:將sqlserver數(shù)據(jù)庫中一product表中信息在頁面上控件(ID為GridView1)顯示。其中連接字符串保存在 web.config文件中 (name為connStr),代碼如下:
2.4 階段四:使用LINQ訪問數(shù)據(jù)庫
通過ADO.NET的連接式訪問或斷開式訪問可以實現(xiàn)對數(shù)據(jù)庫的各種復雜操作,但是在開發(fā)數(shù)據(jù)庫應用程序中,如果數(shù)據(jù)庫的結構發(fā)生變化,在表示層必須要進行大量代碼的修改,這有悖于“高內(nèi)聚,低耦合”設計原則。LINQ技術的出現(xiàn)為此提供了一種有效的解決方案。
LINQ to sql基本步驟是:創(chuàng)建DataContext類和數(shù)據(jù)表實體類、實例化DataContext、創(chuàng)建Linq to sql查詢、處理結果。
如:將一sqlserver數(shù)據(jù)庫中Produtct表其中三個字段(r.ProductId,r.ProductName,r.Product-Date)的信息在頁面上控件(ID為GridView1)顯示。代碼如下:
應用程序訪問數(shù)據(jù)庫的各種方法都有其自身的優(yōu)點和缺點,具體開發(fā)設計中使用什么樣的方法不僅取決于程序員的習慣,還要取決于項目在性能或開發(fā)進度等方面的要求??傊O計要朝著高效的目標。本文介紹了幾種方法在具體教學中的實施,這種漸近式地教學可以更加容易讓學生理解、掌握并應用相關知識進行應用程序開發(fā)。
[1]崔淼,關六三,彭煒.ASP.NET程序設計教程[M].北京:機械工業(yè)出版社,2011.
[2]麥克唐納.ASP.NET 3.5從入門到精通[M].北京:清華大學出版社,2010.
[3]張勇.案例拓展在ASP.NET教學中的應用[J].巢湖學院學報,2013,(6):154-156.
[4]董萍.基于學習領域的《ASP.NET》課程開發(fā)實踐[J].安陽工學院學報,2012,(6):46-48.
[5]王家亮,張馳.基于CDIO理念的ASP.NET課程實驗教學研究[J].計算機教育,2014,(16):112-114.
[6]沈蘊梅.關于“ASP.NET動態(tài)Web開發(fā)技術”教學模式改革的探索[J].計算機時代,2014,(8):65-67.
[7]黃瑋.基于版本推進思想的ASP.NET課程案例教學[J].計算機教育,2014,(14):68-70.
[8]崔陽華.一套可行的Oracle Forms-ASP.NET遷移方案[J].智能計算機與應用,2014,(4):106-108.
[9]舒國軍,黃剛.LINQ to SQL技術在Web開發(fā)中的應用[J].遵義師范學院學報,2012,(1):87-89.
RESEARCH ON ASYMPTOTICAL TEACHING OF DATABASE MODULE IN ASP.NET COURSE
ZHANG Yong
(College of Information Engineering,Chaohu College,Chaohu Anhui 238000)
There are a variety of methods for application program to access database in ASP.NET.These methods should be introduced to students asymptotically in order to let each method find its foothold in specific application development.In view of the application characteristic in ASP.NET course,through combining teaching practice four stages are designed in teaching for application program to access database with the specific examples.
ASP.NET;application program;database
楊松水
G642.4
A
1672-2868(2015)03-0142-03
2014-10-26
巢湖學院本科教學質(zhì)量與教學改革工程資助項目(項目編號:ch13yykc06);巢湖學院自然科學研究資助項目(項目編號:XLY-201408);安徽省省級質(zhì)量工程項目(項目編號:2013tszy020)
張勇(1983-),男,安徽巢湖人。巢湖學院信息工程學院,講師,碩士。研究方向:WEB智能,圖像處理等。