版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第9章 ASP.NET數(shù)據(jù)訪問08 七月 20222Ch9 ASP.NET數(shù)據(jù)訪問9.1 LINQ基本技術(shù)9.2 ASP.NET數(shù)據(jù)綁定9.3 利用實體框架訪問數(shù)據(jù)庫08 七月 202239.1 LINQ基本技術(shù)語言集成查詢(LINQ)CSS是Cascading Style Sheets的縮寫,稱為級聯(lián)樣式表,也叫層疊式樣式表。CSS的作用是控制HTML元素在瀏覽器中呈現(xiàn)的樣式,比如字體大小、顏色、背景色以及背景圖像等。CSS的級聯(lián)控制內(nèi)聯(lián)式(Inline Styles) 嵌入式(Embedding a Style Block)外部鏈接式(Linking to a Style Sheet) 內(nèi)
2、聯(lián)式(Inline Styles)內(nèi)聯(lián)式是指直接在HTML元素內(nèi)通過style屬性設(shè)置元素的樣式每個style內(nèi)可以包含一個或多個樣式屬性,其一般形式為:style=屬性名1: 值1; 屬性名2: 值2; “屬性名與屬性值之間用冒號“:”分隔,如果一個樣式中有多個屬性,各屬性之間用分號“;”隔開。 例如:定義了帶樣式的層內(nèi)聯(lián)式適用于單獨控制某個元素樣式的情況。優(yōu)點是設(shè)置樣式直觀、方便 ;缺點是無法一次性設(shè)置所有相同元素的樣式 。一般情況下,如果某個元素的樣式與其他元素的樣式不同,或者具有相同樣式的元素比較少,可以采用內(nèi)聯(lián)式。 08 七月 202259.1 LINQ基本技術(shù)語言集成查詢(LINQ
3、)語言集成查詢(LINQ)在對象領(lǐng)域和數(shù)據(jù)領(lǐng)域之間架起了一座橋梁,其最大特點是可以直接使用C#語法訪問各種數(shù)據(jù)源。LINQ技術(shù)包括以下幾個方面。(1)LINQ to Entities:將實體數(shù)據(jù)模型作為對象,然后再通過實體模型訪問各種數(shù)據(jù)源。(2)LINQ to SQL:將關(guān)系數(shù)據(jù)庫的數(shù)據(jù)作為對象。(3)LINQ to XML:用LINQ語法對XML文檔進行各種操作。(4)LINQ to DataSet:將LINQ查詢結(jié)果直接保存到DataSet中。(5)LINQ to Objects:查詢?nèi)魏慰擅杜e的集合。08 七月 202269.1 LINQ基本技術(shù)語言集成查詢(LINQ)使用LINQ技術(shù)
4、可帶來以下優(yōu)點。(1)語法與數(shù)據(jù)庫的SQL查詢語句類似。(2)針對語法錯誤和類型安全的編譯時檢查。(3)改進的調(diào)試器支持。(4)編寫程序時的IntelliSense(智能提示)支持。(5)直接處理XML元素的功能,而不是像W3C的DOM那樣需要創(chuàng)建容器XML文檔。(6)強大的內(nèi)存中XML文檔修改功能,比XPath或XQuery更容易使用。(7)強大的篩選、排序和分組功能。(8)用于跨多種數(shù)據(jù)源和數(shù)據(jù)格式處理數(shù)據(jù)的一致模型。08 七月 202279.1 LINQ基本技術(shù)查詢表達式LINQ查詢表達式主要由from子句、let子句、orderby子句、where子句、group子句以及select子
5、句構(gòu)成。每一個LINQ查詢表達式都必須包含from子句,且必須以from子句開頭,以 select 或 group 子句結(jié)尾,使用from語句的主要作用是為了智能感知,使編譯器了解該語句為LINQ查詢表達式。如果LINQ查詢表達式還包含子查詢,那么子查詢表達式也必須以from子句開頭。08 七月 202289.1 LINQ基本技術(shù)from子句from子句指定要查找的數(shù)據(jù)源以及范圍,多個from子句則表示從多個數(shù)據(jù)源查找數(shù)據(jù)。from子句的一般格式為:from in 【例9-1】演示from子句的基本用法。Where子句在LINQ中,用where子句指定查詢的過濾條件。【例9-2】演示where
6、子句的基本用法。08 七月 202299.1 LINQ基本技術(shù)group子句group子句實現(xiàn)對查詢結(jié)果的分組操作。一般格式為:group by 【例9-3】演示group子句的基本用法。let子句使用let變量可以創(chuàng)建一個新的變量,并且使用該變量保存表達式中的結(jié)果。 【例9-4】演示let子句的基本用法。08 七月 2022109.1 LINQ基本技術(shù)orderby子句orderby子句對查詢結(jié)果進行排序操作,格式如下:orderby element sortType其中,element是要進行排序的字段。sortType是可選參數(shù),表示排序類型,包括升序(ascending)和降序(des
7、ending)兩個可選值,默認為ascending。 【例9-5】演示orderby子句的基本用法。select子句select子句指定在執(zhí)行查詢時產(chǎn)生結(jié)果的數(shù)據(jù)集中元素的類型。 08 七月 2022119.1 LINQ基本技術(shù)Lambda表達式Lambda表達式是一個匿名函數(shù),它可以包含表達式和語句,并且可用于創(chuàng)建委托或表達式目錄樹類型。當函數(shù)語句較少,而又需要用委托來調(diào)用時,使用Lambda表達式比較方便。所有Lambda表達式都使用Lambda運算符“=”,讀為“goes to”,運算符的右邊包含一條或多條表達式或語句塊。如果表達式有輸入?yún)?shù),則將參數(shù)放在運算符的左邊。例如:x = x
8、* x每一個LINQ查詢表達式都必須包含from子句,且必須以from子句開頭,以 select 或 group 子句結(jié)尾,使用from語句的主要作用是為了智能感知,使編譯器了解該語句為LINQ查詢表達式。如果LINQ查詢表達式還包含子查詢,那么子查詢表達式也必須以from子句開頭。08 七月 2022129.1 LINQ基本技術(shù)Lambda表達式Lambda表達式的一般規(guī)則如下: (1)表達式中的參數(shù)數(shù)量必須與委托類型包含的參數(shù)數(shù)量相同。 (2)表達式中的每個輸入?yún)?shù)必須都能夠隱式轉(zhuǎn)換為其對應的委托參數(shù)。(3)如果表達式有返回值,該返回值必須能夠隱式轉(zhuǎn)換為委托的返回類型?!纠?-6】演示La
9、mbda表達式的基本用法。每一個LINQ查詢表達式都必須包含from子句,且必須以from子句開頭,以 select 或 group 子句結(jié)尾,使用from語句的主要作用是為了智能感知,使編譯器了解該語句為LINQ查詢表達式。如果LINQ查詢表達式還包含子查詢,那么子查詢表達式也必須以from子句開頭。08 七月 2022139.2 ASP.NET數(shù)據(jù)綁定ASP.NET數(shù)據(jù)綁定經(jīng)過兩個環(huán)節(jié),第一個環(huán)節(jié)是通過數(shù)據(jù)源控件(例如EntityDataSource控件、LinqDataSource控件等)自動獲取或存儲數(shù)據(jù)源中的數(shù)據(jù);第二個環(huán)節(jié)是將數(shù)據(jù)源控件和其他控件綁定在一起,被綁定的其他控件稱為AS
10、P.NET數(shù)據(jù)綁定控件。ASP.NET數(shù)據(jù)綁定控件的最大特點是可以自動生成代碼,而且使用簡單、直觀。利用數(shù)據(jù)綁定控件可以進行如下操作。(1)選擇和顯示數(shù)據(jù)。 (2)對數(shù)據(jù)進行排序、分頁和緩存。 (3)更新、插入和刪除數(shù)據(jù)。 (4)使用運行時參數(shù)篩選數(shù)據(jù) (5)使用參數(shù)創(chuàng)建“主/詳細信息”方案。08 七月 2022149.2 ASP.NET數(shù)據(jù)綁定數(shù)據(jù)綁定表達式數(shù)據(jù)綁定是指把數(shù)據(jù)源中的數(shù)據(jù)取出來,顯示在頁面的各種控件上,用戶可以通過這些控件查看和修改數(shù)據(jù),這些修改會自動地保存到數(shù)據(jù)源中。數(shù)據(jù)綁定表達式包含在“”分隔符之內(nèi),格式如下:使用數(shù)據(jù)綁定表達式的主要內(nèi)容如下。(1)在數(shù)據(jù)綁定表達式中,可以
11、指定被綁定的public類型的字段或?qū)傩?。?)在后臺代碼中調(diào)用Page類的DataBind方法時,ASP.NET會自動計算所有數(shù)據(jù)綁定表達式的值。(3)數(shù)據(jù)綁定表達式也可以用在服務器控件屬性中,包括HTML服務器控件和Web服務器控件,格式如下:控件名 屬性= runat=server / 【例9-7】演示數(shù)據(jù)綁定表達式的基本用法08 七月 2022159.2 ASP.NET數(shù)據(jù)綁定將數(shù)據(jù)源綁定到控件利用數(shù)據(jù)綁定技術(shù)可以綁定具有單一值的控件、列表控件以及模板化控件。綁定列表控件列表控件用于以各種列表形式呈現(xiàn)數(shù)據(jù),包括ListBox、DropDownList、CheckBoxList、Radi
12、oButtonList和BulletedList控件。當需要將數(shù)據(jù)源數(shù)據(jù)以列表形式顯示時,可以用數(shù)據(jù)綁定來實現(xiàn),此時控件中的每一項對應于數(shù)據(jù)源中的一項(例如數(shù)據(jù)庫表中的一行)。利用列表控件可以顯示來自數(shù)據(jù)源的一個字段,也可以用另一個字段作為項的值?!纠?-8】利用數(shù)據(jù)綁定將Course表的課程名稱顯示在ListBox中,當選擇某個課程名稱時,保存對應的編碼?!纠?-9】在代碼隱藏類中直接編寫代碼實現(xiàn)與ListBox控件綁定。08 七月 2022169.2 ASP.NET數(shù)據(jù)綁定將數(shù)據(jù)源綁定到控件綁定模板化控件在數(shù)據(jù)綁定表達式中,使用Eval方法實現(xiàn)單向綁定,使用Bind方法實現(xiàn)雙向數(shù)據(jù)綁定。(
13、1)Eval方法Eval方法用于定義單向(只讀)綁定,該方法將數(shù)據(jù)字段的值作為參數(shù),返回字符串形式的值。(2)Bind方法Bind方法用于定義雙向(可更新)綁定,該方法可以檢索數(shù)據(jù)綁定控件的值,并將更改提交給數(shù)據(jù)庫。注意:只能對數(shù)據(jù)綁定控件的模板內(nèi)的綁定使用Eval方法和Bind方法。出于性能的考慮,除非是綁定需要格式化字符串,一般使用bind方法。08 七月 2022179.3 利用實體框架訪問數(shù)據(jù)庫ADO.NET Entity Framework(簡稱EF)是微軟推出的數(shù)據(jù)訪問架構(gòu)。實體框架基本概念使用Entity Framework,可以方便地訪問SQL Server、Oracle、DB
14、2等大型數(shù)據(jù)庫。另外,將語言集成查詢(LINQ)和實體框架相結(jié)合,能使我們快速開發(fā)出各種數(shù)據(jù)訪問相關(guān)的應用程序。08 七月 2022189.3 利用實體框架訪問數(shù)據(jù)庫實體框架基本概念Entity Framework具有以下優(yōu)點。(1)應用程序可以通過更加以應用程序為中心的概念模型(包括具有繼承性、復雜成員和關(guān)系的類型)來工作。(2)應用程序不再對特定的數(shù)據(jù)引擎或存儲架構(gòu)具有硬編碼依賴性。(3)可以在不更改應用程序代碼的情況下更改概念模型與特定于存儲的架構(gòu)之間的映射。(4)開發(fā)人員可以使用可映射到各種存儲架構(gòu)(可能在不同的數(shù)據(jù)庫管理系統(tǒng)中實現(xiàn))的一致的應用程序?qū)ο竽P?。?)多個概念模型可以映射
15、到同一個存儲架構(gòu)。08 七月 2022199.3 利用實體框架訪問數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫和實體數(shù)據(jù)模型本章的例子使用SQL Server 2008 Express來講解【例9-10】在項目中創(chuàng)建MyDatabase.mdf數(shù)據(jù)庫,然后使用“ADO.NET實體數(shù)據(jù)模型”向?qū)蒑yDatabaseModel.edmx文件。即實現(xiàn)MyDatabaseModel概念模型和MyDatabase數(shù)據(jù)庫(表、視圖以及存儲過程)之間的映射。08 七月 2022209.3 利用實體框架訪問數(shù)據(jù)庫GridView控件常用屬性08 七月 2022219.3 利用實體框架訪問數(shù)據(jù)庫GridView控件常用事件【例9-11】在GridView控件中顯示課程編碼對照表的數(shù)據(jù)。08 七月 2022229.3 利用實體框架訪問數(shù)據(jù)庫EntityDataSource控件數(shù)據(jù)源控件為數(shù)據(jù)綁定控件構(gòu)造了一個公共接口,其內(nèi)部自動實現(xiàn)豐富的數(shù)據(jù)檢索和修改功能,包括查詢、排序、分頁、篩選、更新、刪除以及插入等,而不需要開發(fā)人員去編寫針對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025商品房買賣合同
- 商業(yè)秘密保密協(xié)議
- 解除租賃合同
- 倉儲叉車銷售協(xié)議3篇
- 機械課程設(shè)計評語
- 勞動合同分公司職業(yè)道德3篇
- 保險理賠行業(yè)理賠員勞動合同3篇
- 公益捐贈合同樣式3篇
- 吊車租賃合同的車輛市場分析3篇
- 保安服務合同技巧3篇
- 五官科醫(yī)院感染管理
- 規(guī)劃設(shè)計方案審批全流程
- 2024年考研政治試題及詳細解析
- 2024年03月遼寧建筑職業(yè)學院招考聘用17人筆試歷年(2016-2023年)真題薈萃帶答案解析
- 酒店強電主管述職報告
- 2023版道德與法治教案教學設(shè)計專題7 第1講 社會主義法律的特征和運行
- 虛擬電廠總體規(guī)劃建設(shè)方案
- 調(diào)試人員微波技術(shù)學習課件
- 2024年四川成都市興蓉集團有限公司招聘筆試參考題庫含答案解析
- 圍絕經(jīng)期的特點和對策課件
- 國網(wǎng)安全生產(chǎn)培訓課件
評論
0/150
提交評論