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