《基于C#的SQL Server應用技術(shù)》課件第7章_第1頁
《基于C#的SQL Server應用技術(shù)》課件第7章_第2頁
《基于C#的SQL Server應用技術(shù)》課件第7章_第3頁
《基于C#的SQL Server應用技術(shù)》課件第7章_第4頁
《基于C#的SQL Server應用技術(shù)》課件第7章_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

工作任務1ADO.NET數(shù)據(jù)提供程序及使用工作任務2ADO.NET數(shù)據(jù)集及應用

工作任務3數(shù)據(jù)綁定情境總結(jié)

練習題

應用程序訪問數(shù)據(jù)庫時需要特定的數(shù)據(jù)庫訪問技術(shù),如ODBC、DAO、OLEDB、ADO、ADO.NET,其中,ADO.NET是目前流行的.NET平臺上的數(shù)據(jù)庫訪問技術(shù)。工作任務1ADO.NET數(shù)據(jù)提供程序及使用

1.?ADO.NET概述

ActiveXDataObjects.NET,簡稱ADO.NET,是微軟設計的一種新的數(shù)據(jù)庫訪問技術(shù)。

ADO.NET對象模型如圖7-1所示。圖7-1ADO.NET對象模型

2.數(shù)據(jù)提供程序及組成

根據(jù)將要訪問的數(shù)據(jù)庫類型,.NET框架提供了不同的數(shù)據(jù)提供程序,常用的有:

(1)?SQLServer.NET數(shù)據(jù)提供程序,用以訪問SQLServer數(shù)據(jù)庫。

(2)?OLEDB.NET數(shù)據(jù)提供程序,用以訪問任何與OLEDB兼容的數(shù)據(jù)庫。

不同數(shù)據(jù)提供程序的核心對象命名不同,但內(nèi)容幾乎一樣,如表7-1所示。表7-1數(shù)據(jù)提供程序核心對象

3.?Connection的創(chuàng)建及連接設置

要對數(shù)據(jù)庫進行操作,首先要建立起對數(shù)據(jù)庫的連接。

1)使用Connection組件創(chuàng)建數(shù)據(jù)庫連接

利用這種方法建立和生成Connection連接實例雖簡單可行,但缺點是不夠靈活,只能生成窗體級的對象,占用資源較大。

2)直接編寫代碼創(chuàng)建數(shù)據(jù)庫連接

直接編寫代碼方式可在任何一個需要連接對象的代碼位置動態(tài)地創(chuàng)建一個連接對象。直接編寫代碼方式可在任何一個需要連接對象的代碼位置動態(tài)地創(chuàng)建一個連接對象。利用這種方法只需正確設置Connection對象的ConnectionString屬性。ConnectionString作為Connection對象的關(guān)鍵屬性是一系列由分號隔開的關(guān)鍵字和值組成,表7-2列出了SqlConnection對象的ConnectionString中的常用關(guān)鍵字及相關(guān)說明。表7-2ConnectionString中的常用關(guān)鍵字及說明

4.?Command命令對象

當與數(shù)據(jù)庫建立了連接后,就可以用Command對象來讀取或修改數(shù)據(jù)源的數(shù)據(jù),如進行對數(shù)據(jù)庫數(shù)據(jù)的增加、刪除、修改等數(shù)據(jù)庫操作。

Command對象的公共屬性如表7-3所示。

Command對象的公共方法見表7-4所示。表7-3Command對象的公共屬性表7-4Command對象的公共方法

5.?DataReader對象

DataReader對象以只讀、只向前的方式提供了一種快速讀取數(shù)據(jù)庫數(shù)據(jù)的方式,該對象僅與數(shù)據(jù)庫建立一個只讀的且僅向前的數(shù)據(jù)流,而且不在內(nèi)存中緩存。

創(chuàng)建SqlDataReader對象時必須調(diào)用SqlCommand對象的ExecuteReader方法,表7-5和表7-6是它的一些重要的公共屬性和方法。表7-5DataReader對象的公共屬性表7-6DataReader對象的公共方法

6.?DataAdapter對象及使用

1)?DataAdapter對象簡介

在ADO.NET體系結(jié)構(gòu)下,DataAdapter是DataSet對象和數(shù)據(jù)源之間聯(lián)系的橋梁,主要功能是從數(shù)據(jù)源中檢索數(shù)據(jù),填充數(shù)據(jù)集對象中的表,把用戶對數(shù)據(jù)集DataSet對象做出的更改寫入到數(shù)據(jù)源。表7-7SqlDataAdapter常用屬性表7-8SqlDataAdapter常用方法

【任務1】使用Connection組件創(chuàng)建數(shù)據(jù)庫連接。

操作步驟如下:

①在工具箱窗口的“數(shù)據(jù)”欄中找到Connection組件(如圖7-2所示)。

②如圖沒有發(fā)現(xiàn)相應的Connection組件,則打開工具菜單中的【選擇工具箱】項,添加相應的組件,如圖7-3所示。圖7-2工具箱中的各數(shù)據(jù)組件圖7-3選擇工具箱項③將Connection組件拖放到目標窗體中,如果創(chuàng)建SQLServer連接,SqlConnection組件實例便出現(xiàn)在窗體下的組件欄,在屬性窗中找到SqlConnection實例的ConnectionString屬性,選擇屬性設置欄的“新建連接”提示,如圖7-4所示。圖7-4新建ServerSQL連接圖7-5建立Access數(shù)據(jù)庫連接④輸入SQLServer2008的服務器和數(shù)據(jù)庫名,點擊下拉列表框即可選擇,這樣連接對象便設置好了。

⑤如果建立同Access數(shù)據(jù)庫的連接,應選擇OleDbConnection組件,拖放到窗體后,設置ConnectionString屬性,選擇屬性設置欄的“新建連接”后,出現(xiàn)如圖7-5所示界面,單擊【更改】按鈕,更改數(shù)據(jù)源類型,如下圖7-6所示。圖7-6更改數(shù)據(jù)源類型

【任務2】利用代碼分別生成SqlConnection和OleDbConnection對象,然后打開。

【任務3】SqlCommand和SqlDataReader對象使用:利用SQLServer.NET數(shù)據(jù)提供程序的連接對象和命令對象提供數(shù)據(jù)庫連接并讀取前面Student數(shù)據(jù)庫中的學生數(shù)據(jù)表記錄。程序主界面如圖7-7所示。圖7-7程序運行主界面

DataSet對象是支持ADO.NET的斷開式、分布式數(shù)據(jù)方案的核心對象。DataSet是數(shù)據(jù)的內(nèi)存駐留表示形式,無論數(shù)據(jù)源是什么,它都會提供一致的關(guān)系編程模型。也可以說數(shù)據(jù)集(DataSet)是記錄在內(nèi)存中的數(shù)據(jù),類似一個簡化的關(guān)系數(shù)據(jù)庫,相當于數(shù)據(jù)庫在本地內(nèi)存中的一個部分快照。

1.數(shù)據(jù)集

DataSet對象模型如圖7-8所示。工作任務2ADO.NET數(shù)據(jù)集及應用圖7-8DataSet對象模型以上模型中,DataTables表示數(shù)據(jù)表(DataTable)的集合,每個數(shù)據(jù)表對象分別包含列集合(Columns)、行集合(Rows)、約束集合(Constraints),其中各集合中包含有具體對象;而DataSet對象主要體現(xiàn)為包含數(shù)據(jù)表集合對象(DataTables)和數(shù)據(jù)關(guān)系集合對象(DataRelation)。

表7-9和表7-10分別列出了數(shù)據(jù)集的常用屬性及方法。表7-9數(shù)據(jù)集的常用屬性表7-10數(shù)據(jù)集的常用方法

2.類型化數(shù)據(jù)集或非類型化數(shù)據(jù)集

數(shù)據(jù)集可以分為類型化或非類型化兩種。

3.填充DataSet對象

創(chuàng)建DataSet后,就可以使用SqlDataAdapter對象把數(shù)據(jù)導入到DataSet對象中,比如通過Fill方法將數(shù)據(jù)填充到DataSet中的某個表中。

將Student數(shù)據(jù)庫中的學生信息表填充到DataSet的某個表中,并在DataGridView中顯示、添加、修改、刪除(按鍵盤的DEL鍵)表中的數(shù)據(jù),點擊【保存】按鈕可更新修改。程序設計主界面如圖7-9所示。

4.數(shù)據(jù)集其他主要集合成員及使用

DataSet類包含類型為DataTableCollection的Tables集合屬性和類型為DataRelationCollection的Relations集合屬性,分別包含DataTable對象和DataRelation對象。圖7-9設計主界面在如圖7-9所示的設計主界面中添加了兩個控件:DataGridView控件和Button控件。運行后的界面如圖7-10所示。圖7-10運行后的界面數(shù)據(jù)綁定指將控件和數(shù)據(jù)源捆綁在一起,通過控件來顯示或修改數(shù)據(jù)。

數(shù)據(jù)綁定有兩種類型:簡單數(shù)據(jù)綁定和復雜數(shù)據(jù)綁定。簡單數(shù)據(jù)綁定通常是將控件屬性綁定到數(shù)據(jù)表字段的單個值上;復雜綁定通常是把數(shù)據(jù)集里的某些字段或某個字段中的多行數(shù)據(jù)綁定到組件的屬性上。工作任務3數(shù)據(jù)綁定

1.數(shù)據(jù)綁定基礎

支持簡單綁定的控件通常有:TextBox控件、Label控件等。

2.?BindingManagerBase對象

BindingManagerBase對象可稱為綁定管理器對象,該對象對應于窗體引用中的每一個數(shù)據(jù)源,使用BindingManagerBase可以對Windows窗體上綁定到相同數(shù)據(jù)源的數(shù)據(jù)綁定控件進行同步并通過該對象實現(xiàn)對相應表的記錄導航。

(1)獲取跟窗體相關(guān)的BindingManagerBase對象。不要試圖調(diào)用構(gòu)造函數(shù)來創(chuàng)建一個BindingManagerBase對象,因為該類為一抽象類,若要創(chuàng)建BindingManagerBase,可使用窗體的BindingContext對象,該對象根據(jù)所管理的數(shù)據(jù)源返回CurrencyManager或PropertyManager。如:

BindingManagerBasebmb=BindingContext[數(shù)據(jù)集,數(shù)據(jù)表];

(2)?BindingManagerBase對象的主要屬性及常用事件分別見表7-11和表7-12。表7-11BingManagerBase對象的主要屬性表7-12BindingManagerBase對象的常用事件數(shù)據(jù)綁定及BindingManagerBase對象的使用:制作一個簡單的學生信息管理器?;竟δ転閷崿F(xiàn)對學生基本信息進行瀏覽、添加、修改、刪除等操作。程序主界面如圖7-11

所示。其中第一排按鈕可實現(xiàn)記錄導航,第二排按鈕實現(xiàn)編輯操作,其中【添加】和【刪除】按鈕做成了功能復用的按鈕,如當單擊【添加】按鈕時,窗體界面如圖7-12所示。這時單擊【確認】或【撤消】均可返到瀏覽狀態(tài)。圖7-11程序主界面圖7-12添加記錄狀態(tài)本學習情境較為詳細地介紹了ADO.NET的體系結(jié)構(gòu)及其內(nèi)部各組成對象的參數(shù)及使用方法,以及在C#環(huán)境下利用ADO.NET訪問數(shù)據(jù)庫的一般過程與相關(guān)的操作,最后介紹VS2005下新提供的數(shù)據(jù)組件—BindingSource組件的使用方法。情境總結(jié)問答題

1.?ADO.NET數(shù)據(jù)提供程序有多種,請說出其中的兩種,并指出如何在?.NET中引用它們的名字空間。

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論