資源描述:
《數(shù)據(jù)訪問模型.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、第9章ADO.NET數(shù)據(jù)訪問模型9.1什么是ADO.NETADO.NET(ActiveXDataObjects)是.NETFramework中的一系列類庫,它能夠讓開發(fā)人員更加方便的在應用程序中使用和操作數(shù)據(jù)。在ADO.NET中,大量復雜的數(shù)據(jù)操作的代碼被封裝起來,所以當開發(fā)人員在ASP.NET應用程序開發(fā)中,只需要編寫少量的代碼即可處理大量的操作。9.1.1設計目標ADO.NET提供對MicrosoftSQLServer等數(shù)據(jù)源以及通過OLEDB和XML公開的數(shù)據(jù)源的一致訪問。應用程序可以使用ADO.NET來連接到這些數(shù)據(jù)源,并檢索、操作和更新數(shù)據(jù)。ADO
2、.NET有效地從數(shù)據(jù)操作中將數(shù)據(jù)訪問分解為多個可以單獨使用或一前一后使用的不連續(xù)組件。包含用于連接到數(shù)據(jù)庫、執(zhí)行命令和檢索結果等操作的.NET數(shù)據(jù)提供程序。9.1.2數(shù)據(jù)訪問模型SqlConnection:該對象表示與數(shù)據(jù)庫服務器進行連接。SqlCommand:該對象表示要執(zhí)行的SQL命令。DataTable:該對象表示內存中數(shù)據(jù)的一個表。DataSet對象中可以包含多個DataTable對象。DataSet:該對象表示數(shù)據(jù)集對象,以XML的形式存在于內存中。SqlDataAdapter:該對象具有填充命令中的DataSet對象的能力。SqlDataRead
3、er:該對象是大多數(shù)有效的情況下讀取數(shù)據(jù)的好的方式。SqlParameter;該對象代表了一個將被命令中標記所代替的值。9.2SqlConnection連接對象SqlConnection對象表示與SQLServer數(shù)據(jù)源的一個唯一的會話。對于客戶端/服務器數(shù)據(jù)庫系統(tǒng),它等效于到服務器的網(wǎng)絡連接。SqlConnection與SqlDataAdapter和SqlCommand一起使用,可以在連接MicrosoftSQLServer數(shù)據(jù)庫時提高性能。連接SQLServer數(shù)據(jù)庫服務器有兩種身份認證模式:Windows身份認證和SQLServer身份認證。Windo
4、ws身份驗證就是使用當前訪問操作系統(tǒng)的用戶,直接登錄SQLServer,如同用鑰匙進入了房子大門就可以直接進入各個房間。SQLServer身份驗證就是單獨設置訪問SQLServer的權限,如同進入房子之后還需要房間的鑰匙。9.3SqlCommand命令對象ADO.NET中,SqlCommand對象可以使用數(shù)據(jù)庫SQL命令直接與數(shù)據(jù)源進行通信。例如,當需要執(zhí)行一條插入語句,或者刪除數(shù)據(jù)庫中的某條數(shù)據(jù)的時候,就需要使用到SqlCommand對象。SqlCommand對象對數(shù)據(jù)執(zhí)行具體操作常用的方法有:ExecuteScalar()ExecuteReader()E
5、xecuteNonQuery()9.4SqlDataReader數(shù)據(jù)讀取對象SqlDataReader對象是用來讀取數(shù)據(jù)的方式,但是不能使用它來寫入數(shù)據(jù)。SqlDataReader能夠以只向前的順序方式從SqlDataReader對象中進行讀取。只要已經(jīng)讀取了某些數(shù)據(jù),就必須保存它們,因為將不能夠返回并再一次讀取它。為了再次讀取那行,應該創(chuàng)建一個新的SqlDataReader實例并且再次從數(shù)據(jù)流中讀取它。得到SqlDataReader對象與實例化其它ADO.NET對象稍微有些不同。必須用一個SqlCommand對象調用ExecuteReader()方法,如下
6、代碼所示。9.5DataTable數(shù)據(jù)表對象DataTable類是.NETFramework類庫中System.Data命名空間的成員。可獨立創(chuàng)建和使用DataTable,也可以作為DataSet的成員創(chuàng)建和使用。在DataSet對象中通過Tables屬性訪問DataSet中表的集合。9.6DataSet數(shù)據(jù)集對象DataSet是ADO.NET框架的主要組件,是數(shù)據(jù)以XML的形式駐留于內存的表示形式,它把從數(shù)據(jù)源中檢索到的數(shù)據(jù)存放在內存的緩存中。DataSet由表、關系和約束的集合組成。數(shù)據(jù)可以來自本地基于.NET的應用程序,也可從數(shù)據(jù)源(例如,使用SqlD
7、ataAdapter的MicrosoftSQLServer)中導入。9.7SqlDataAdapter數(shù)據(jù)適配器對象SqlDataAdapter對象是用于填充DataSet和更新SQLServer數(shù)據(jù)庫的一組數(shù)據(jù)命令和一個數(shù)據(jù)庫連接。在創(chuàng)建了數(shù)據(jù)庫連接后,就需要對數(shù)據(jù)集DataSet進行填充,在這里就需要使用SqlDataAdapter對象。intFill(DataSetdataSet,stringtableName):使用SELECT語句從數(shù)據(jù)源中檢索數(shù)據(jù),將其填充到DataSet對象中,返回值為在DataSet中成功添加的行數(shù)。與SELECT命令關聯(lián)的S
8、qlConnection對象必須有效,但不需要將其打