教學(xué)材料ADONET數(shù)據(jù)訪問技術(shù).ppt_第1頁
教學(xué)材料ADONET數(shù)據(jù)訪問技術(shù).ppt_第2頁
教學(xué)材料ADONET數(shù)據(jù)訪問技術(shù).ppt_第3頁
教學(xué)材料ADONET數(shù)據(jù)訪問技術(shù).ppt_第4頁
教學(xué)材料ADONET數(shù)據(jù)訪問技術(shù).ppt_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1頁,第8章 ADO.NET數(shù)據(jù)訪問技術(shù),本章概述 本章的學(xué)習(xí)目標(biāo) 主要內(nèi)容,第2頁,本章概述,ASP.NET應(yīng)用程序的數(shù)據(jù)訪問是通過ADO.NET進(jìn)行的,ADO.NET可以使Web應(yīng)用程序從各種數(shù)據(jù)源中快速訪問數(shù)據(jù)。從傳統(tǒng)的數(shù)據(jù)庫到XML數(shù)據(jù)存儲,各種各樣的數(shù)據(jù)源都能連接到ADO.NET,從而更加靈活地訪問數(shù)據(jù),減少訪問數(shù)據(jù)所需的代碼,提高了開發(fā)效率和Web應(yīng)用程序的性能。 本章首先介紹ADO.NET的基本知識,然后再詳細(xì)介紹在ASP.NET中的幾種數(shù)據(jù)訪問方法,而有關(guān)數(shù)據(jù)綁定的內(nèi)容則放到第9章再進(jìn)行介紹。,第3頁,本章的學(xué)習(xí)目標(biāo),了解ADO.NET的基本知識 掌握ADO.NET與數(shù)據(jù)庫的連接方法 掌握利用Command訪問數(shù)據(jù)庫的方法 掌握利用DataAdapter訪問數(shù)據(jù)庫的方法,第4頁,主要內(nèi)容,8.1 ADO.NET概述 8.2 使用Connection連接數(shù)據(jù)庫 8.3 使用Command對象執(zhí)行數(shù)據(jù)庫命令 8.4 使用DataAdapter對象執(zhí)行數(shù)據(jù)庫命令 8.5 本章小結(jié),第5頁,8.1 ADO.NET概述,ADO.NET是.NET Framework提供的數(shù)據(jù)訪問的類庫,對 Microsoft SQL Server、Oracle 和 XML 等數(shù)據(jù)源提供一致的訪問。應(yīng)用程序使用 ADO.NET 連接到這些數(shù)據(jù)源,檢索和更新所包含的數(shù)據(jù)。 ADO.NET用于數(shù)據(jù)訪問的類庫包含.NET Framework數(shù)據(jù)提供程序和DataSet兩個組件。.NET Framework數(shù)據(jù)提供程序與DataSet之間的關(guān)系如圖所示。,第6頁,8.1 ADO.NET概述,.NET Framework數(shù)據(jù)提供程序包含以下4個核心類。 Connection:建立與數(shù)據(jù)源的連接。 Command:對數(shù)據(jù)源執(zhí)行操作命令,用于修改數(shù)據(jù)、查詢數(shù)據(jù)和運行存儲過程等。 DataReader:從數(shù)據(jù)源獲取返回的數(shù)據(jù)。 DataAdapter:用數(shù)據(jù)源數(shù)據(jù)填充DataSet,并可以處理數(shù)據(jù)更新。,第7頁,DataSet,DataSet是數(shù)據(jù)表(DataTable)的集合,它可以包含任意多個數(shù)據(jù)表,而且每個DataSet中的數(shù)據(jù)表對應(yīng)一個數(shù)據(jù)源中的數(shù)據(jù)表(Table)或者是數(shù)據(jù)視圖(View)。DataSet的結(jié)構(gòu)如圖所示。,第8頁,ASP.NET數(shù)據(jù)訪問程序開發(fā)流程,ASP.NET數(shù)據(jù)訪問程序的開發(fā)流程有以下幾個步驟: (1) 利用Connection對象創(chuàng)建數(shù)據(jù)連接。 (2) 利用Command對象數(shù)據(jù)源執(zhí)行SQL命令。 (3) 利用DataReader對象讀取數(shù)據(jù)源的數(shù)據(jù)。 (4) DataSet對象與DataAdapter對象配合,完成數(shù)據(jù)的查詢和更新操作。,第9頁,主要內(nèi)容,8.1 ADO.NET概述 8.2 使用Connection連接數(shù)據(jù)庫 8.3 使用Command對象執(zhí)行數(shù)據(jù)庫命令 8.4 使用DataAdapter對象執(zhí)行數(shù)據(jù)庫命令 8.5 本章小結(jié),第10頁,8.2 使用Connection連接數(shù)據(jù)庫,【例8-1】演示如何建立Microsoft SQL Server 2012數(shù)據(jù)庫連接。 (1) 運行VS,新建一個名為WebSite8的ASP.NET網(wǎng)站。 (2) 在【解決方案資源管理器】中,用鼠標(biāo)右鍵單擊網(wǎng)站名,選擇【添加】|【新建項】命令,在彈出的對話框中選擇【數(shù)據(jù)】|【SQL Server數(shù)據(jù)庫】模板,更改名稱為MyDatabase.mdf,創(chuàng)建數(shù)據(jù)庫,如圖8-3所示。,第11頁,8.2 使用Connection連接數(shù)據(jù)庫,(3) 單擊【添加】按鈕,彈出如圖8-4所示的對話框,單擊【確定】按鈕,將數(shù)據(jù)庫MyDatabase.mdf保存到App_Data文件夾中。 (4) 在【數(shù)據(jù)庫資源管理器】中,雙擊數(shù)據(jù)庫名MyDatabase.mdf,數(shù)據(jù)庫資源管理器顯示如圖8-5所示。,第12頁,主要內(nèi)容,8.1 ADO.NET概述 8.2 使用Connection連接數(shù)據(jù)庫 8.3 使用Command對象執(zhí)行數(shù)據(jù)庫命令 8.4 使用DataAdapter對象執(zhí)行數(shù)據(jù)庫命令 8.5 本章小結(jié),第13頁,8.3 使用Command對象執(zhí)行數(shù)據(jù)庫命令,Command對象是用來執(zhí)行數(shù)據(jù)庫操作命令的,比如對數(shù)據(jù)庫中數(shù)據(jù)表記錄的查詢、增加、修改或刪除等都是要通過Command對象來實現(xiàn)的。一個數(shù)據(jù)庫操作命令可以用SQL語句來表達(dá),包括SELECT語句、UPDATE語句、DELETE語句、INSERT語句等。Command對象可以傳遞參數(shù)并返回值,同時Command也可以調(diào)用數(shù)據(jù)庫中的存儲過程。,第14頁,使用Command對象查詢數(shù)據(jù),使用Command對象查詢數(shù)據(jù)庫數(shù)據(jù)的一般步驟為:先建立數(shù)據(jù)庫連接;然后創(chuàng)建Command對象,并設(shè)置它的Connection和CommandText兩個屬性,分別表示數(shù)據(jù)庫連接和需要執(zhí)行的SQL命令;接下來使用Command對象的ExecuteReader方法,把返回結(jié)果放在DataReader對象中;最后通過循環(huán),顯示數(shù)據(jù)庫查詢結(jié)果。,第15頁,使用Command對象插入數(shù)據(jù),使用Command對象增加數(shù)據(jù)庫數(shù)據(jù)的一般步驟為:先建立數(shù)據(jù)庫連接;然后創(chuàng)建Command對象,設(shè)置它的Connection和CommandText兩個屬性,并使用Command對象的Parameters屬性來設(shè)置輸入?yún)?shù);最后使用Command對象的ExecuteNonquery方法執(zhí)行數(shù)據(jù)庫數(shù)據(jù)增加命令,其中ExecuteNonquery方法表示要執(zhí)行的是沒有返回數(shù)據(jù)的命令。,第16頁,使用Command對象刪除數(shù)據(jù),使用Command對象刪除數(shù)據(jù)庫數(shù)據(jù)的一般步驟為:先建立數(shù)據(jù)庫連接;然后創(chuàng)建Command對象,設(shè)置它的Connection和CommandText兩個屬性,并使用Command對象的Parameters屬性來傳遞參數(shù);最后使用Command對象的ExecuteNonquery方法執(zhí)行數(shù)據(jù)庫數(shù)據(jù)刪除命令。,第17頁,使用Command對象修改數(shù)據(jù),使用Command對象修改數(shù)據(jù)庫數(shù)據(jù)的一般步驟為:先建立數(shù)據(jù)庫連接;然后創(chuàng)建Command對象,設(shè)置它的Connection和CommandText兩個屬性,并使用Command對象的Parameters屬性來傳遞參數(shù);接下來使用Command對象的ExecuteNonquery方法執(zhí)行數(shù)據(jù)庫數(shù)據(jù)修改命令?!纠?-5】同時說明存儲過程的調(diào)用方法。,第18頁,數(shù)據(jù)庫事務(wù)處理,在ASP.NET中,可以使用Connection和Transaction對象開始、提交和回滾事務(wù)。一般步驟為:調(diào)用Connection對象的BeginTransaction方法來標(biāo)記事務(wù)的開始,BeginTransaction方法返回對Transaction的引用;將Transaction對象賦給Command的Transaction屬性;執(zhí)行事務(wù)操作;如果事務(wù)操作成功,使用Transaction對象的Commit方法提交事務(wù),否則,使用Rollback方法回滾事務(wù)。,第19頁,主要內(nèi)容,8.1 ADO.NET概述 8.2 使用Connection連接數(shù)據(jù)庫 8.3 使用Command對象執(zhí)行數(shù)據(jù)庫命令 8.4 使用DataAdapter對象執(zhí)行數(shù)據(jù)庫命令 8.5 本章小結(jié),第20頁,8.4 使用DataAdapter對象執(zhí)行數(shù)據(jù)庫命令,對于SQL SERVER接口,使用的是SqlDataAdapter對象,在使用DataAdapter對象時,只需分別設(shè)置表示SQL命令和數(shù)據(jù)庫連接的兩個參數(shù),就可以通過它的Fill方法把查詢結(jié)果放在一個DataSet對象中。,第21頁,使用DataAdapter對象查詢數(shù)據(jù),使用DataAdapter對象查詢數(shù)據(jù)庫數(shù)據(jù)的一般步驟為:首先建立數(shù)據(jù)庫連接;然后利用數(shù)據(jù)庫連接和SELECT語句建立DataAdapter對象,并使用DataAdapter對象的Fill方法把查詢結(jié)果放在DataSet對象的一個數(shù)據(jù)表中;接下來將該數(shù)據(jù)表復(fù)制到DataTable對象中;最后實現(xiàn)對DataTable對象中數(shù)據(jù)的查詢。,第22頁,使用DataAdapter對象修改數(shù)據(jù),使用DataAdapter對象修改數(shù)據(jù)庫數(shù)據(jù)的一般步驟為:首先建立數(shù)據(jù)庫連接;然后利用數(shù)據(jù)庫連接和SELECT語句建立DataAdapter對象;并配置它的UpdateCommand屬性,定義修改數(shù)據(jù)庫的UPDATE語句;使用DataAdapter對象的Fill方法把SELECT語句的查詢結(jié)果放在DataSet對象的數(shù)據(jù)表中;接下來將該數(shù)據(jù)表復(fù)制到DataTable對象中;最后實現(xiàn)對DataTable對象中數(shù)據(jù)的修改,并通過DataAdapter對象的Update方法向數(shù)據(jù)庫提交修改數(shù)據(jù)。,第23頁,使用DataAdapter對象增加數(shù)據(jù),使用DataAdapter對象增加數(shù)據(jù)庫數(shù)據(jù)的一般步驟為:首先建立數(shù)據(jù)庫連接;然后利用數(shù)據(jù)庫連接和SELECT語句建立DataAdapter對象;并建立 CommandBuilder 對象自動生成 DataAdapter的Command命令,否則就要自己給UpdateCommand、InsertCommand、DeleteCommand屬性定義SQL更新語句;使用DataAdapter對象的Fill方法把SELECT語句的查詢結(jié)果放在DataSet對象的數(shù)據(jù)表中;接下來將該數(shù)據(jù)表復(fù)制到DataTable對象中;最后實現(xiàn)對DataTable對象中數(shù)據(jù)的增加,并通過DataAdapter對象的Update方法向數(shù)據(jù)庫提交數(shù)據(jù)。,第24頁,使用DataAdapter對象刪除數(shù)據(jù),使用DataAdapter對象刪除數(shù)據(jù)庫數(shù)據(jù)的一般步驟為:首先建立數(shù)據(jù)庫連接;然后利用數(shù)據(jù)庫連接和SELECT語句建立DataAdapter對象;并建立 CommandBuilder 對象自動生成 DataAdapter的Command命令;使用DataAdapter對象的Fill方法把SELECT語句的查詢結(jié)果放在DataSet對象的數(shù)據(jù)表中;接下來將該數(shù)據(jù)表復(fù)制到DataTable對象中;最后實現(xiàn)對DataTable對象中數(shù)據(jù)的刪除,并通過DataAdapter對象的Update方法向數(shù)據(jù)庫提交數(shù)據(jù)。 【例8-10】演示如何使用DataAdapter對象刪除符合條件的學(xué)生記錄。,第25頁,主要內(nèi)容,8.1 ADO.NET概述 8.2 使用Connection連接數(shù)據(jù)庫 8.3 使用Command對象執(zhí)行數(shù)據(jù)庫命令 8.4 使用DataAdapter對象執(zhí)行數(shù)據(jù)庫命令 8.5 本章小結(jié),第26頁,8.5 本

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論