自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談ADO.NET中的五個主要對象

開發(fā) 后端
我們將為大家介紹ADO.NET中的五個主要對象,他們是Connection物件、Command 物件、DataAdapter物件、DataSet物件和DataReader物件。

ADO.NET 對象模型中有五個主要的組件,分別是Connection 對象、Command 對象、DataSetCommand、DataSet 以及DataReader。這些組件中 負(fù)責(zé)建立聯(lián)機(jī)和數(shù)據(jù)操作的部分

我們稱為數(shù)據(jù)操作組件(Managed Providers) ,分別由Connection 對象、Command 對象、DataSetCommand 對象以及DataReader 對象所組成。數(shù)據(jù)操作組件最主要是當(dāng)作DataSet 對象以及數(shù)據(jù)源之間的橋梁,負(fù)責(zé)將數(shù)據(jù)源中的數(shù)據(jù)取出后植入DataSet 對象中,以及將數(shù)據(jù)存回數(shù)據(jù)源的工作。

Connection對象

Connection 對象主要是開啟程序和數(shù)據(jù)庫之間的連結(jié)。沒有利用連結(jié)對象將數(shù)據(jù)庫打開,是無法從數(shù)據(jù)庫中取得數(shù)據(jù)的。這個物件在ADO.NET 的最底層,我們可以自己產(chǎn)生這個對象,或是由其它的對象自動產(chǎn)生。

Command對象

Command 對象主要可以用來對數(shù)據(jù)庫發(fā)出一些指令,例如可以對數(shù)據(jù)庫下達(dá)查詢、新增、修改、刪除數(shù)據(jù)等指令,以及呼叫存在數(shù)據(jù)庫中的預(yù)存程序等。這個對象是架構(gòu)在Connection 對象上,也就是Command 對象是透過連結(jié)到數(shù)據(jù)源的Connection 對象來下命令的;所以Connection連結(jié)到哪個數(shù)據(jù)庫,Command 對象的命令就下到哪里。

DataSetCommand對象

DataSetCommand 對象主要是在數(shù)據(jù)源以及DataSet 之間執(zhí)行數(shù)據(jù)傳輸?shù)墓ぷ鳎梢酝高^

Command 對象下達(dá)命令后,并將取得的數(shù)據(jù)放入DataSet 對象中。這個對象是架構(gòu)在Command對象上,并提供了許多配合DataSet 使用的功能。在Beta 2 版中DataSetCommand 物件會更名為DataAdapter。

DataSet對象

DataSet 這個對象可以視為一個暫存區(qū)(Cache),可以把從數(shù)據(jù)庫中所查詢到的數(shù)據(jù)保留起來,甚至可以將整個數(shù)據(jù)庫顯示出來。DataSet 的能力不只是可以儲存多個Table,還可以透過DataSetCommand 對象取得一些例如主鍵等的數(shù)據(jù)表結(jié)構(gòu),并可以記錄數(shù)據(jù)表間的關(guān)聯(lián)。

DataSet 對象可以說是ADO.NET 中重量級的對象,這個對象架構(gòu)在DataSetCommand 對象上,本身 不具備和數(shù)據(jù)源溝通的能力 ;也就是說我們是將DataSetCommand 對象當(dāng)做DataSet 對象以及數(shù)據(jù)源間傳輸數(shù)據(jù)的橋梁。

DataReader對象

當(dāng)我們只需要循序的讀取數(shù)據(jù)而不需要其它操作時,可以使用DataReader 對象。DataReader

對象只是一次一筆向下循序地讀取數(shù)據(jù)源中的數(shù)據(jù),不作其它的操作。因為DataReader 在讀取數(shù)據(jù)的時候限制了每次只讀取一筆,而且只能只讀,所以使用起來不但節(jié)省資源而且效率很好。此外,因為不用把數(shù)據(jù)全部傳回,故可以降低網(wǎng)絡(luò)的負(fù)載。

ADO.NET 的數(shù)據(jù)操作組件(Managed Providers)

ADO.NET 的數(shù)據(jù)存取和之前的版本不一樣。前版的ADO 存取數(shù)據(jù)的方式只有一種,那就是透過OLE DB 來存取數(shù)據(jù);而現(xiàn)在的ADO.NET 則分為兩種,一種是直接存取MS SQL Server 中的數(shù)據(jù),另一種是透過OLE DB 來存取其它數(shù)據(jù)庫中的數(shù)據(jù)。前面我們提過: 要存取數(shù)據(jù)源中的數(shù)據(jù),要透過數(shù)據(jù)操控組件 。這個數(shù)據(jù)操作組件就是Connection 對象、Command 對象、DataSetCommand 對象以及DataReader 對象。由于我們可以選擇透過OLE DB 和資料源聯(lián)機(jī),或是和MS SQL Server 直接聯(lián)機(jī);所以 ASP.NET 提供了兩組數(shù)據(jù)操作組件,分別為ADO 數(shù)據(jù)操作組件以及SQL 數(shù)據(jù)操作組件 。

每組數(shù)據(jù)操作組件內(nèi)都有Connection 對象、Command 對象、DataSetCommand 對象及

DataReader 對象。這兩種數(shù)據(jù)操作組件雖然針對的數(shù)據(jù)源不一樣,但是這些對象的架構(gòu)都一樣。例如ADOConnection 和SQLConnection 對象雖然一個是針對OLE DB,而另一個是針對MS SQLServer,但是這兩個對象都有一樣的屬性、事件及方法,所以使用起來并不會造成困擾;只要針對所要建立的數(shù)據(jù)源種類來選擇ADO 數(shù)據(jù)操作組件,或是SQL 數(shù)據(jù)操作組件就可以了。雖然我們也可以透過OLE DB 來存取MS SQL Server 中的資料,但是透過SQL 類別對象來存取MS SQL Server 中的數(shù)據(jù)效率最好;這是因為SQL 類別不經(jīng)過OLE DB 這一層,而是直接呼叫MS SQL Server 中的API,所以效率比較好。ADO.NET 對于這兩種數(shù)據(jù)存取方式所使用的對象完全不一樣,在使用的時候必須要特別注意。

【編輯推薦】

  1. 用LINQ和ADO.NET創(chuàng)建Silverlight程序
  2. ADO.NET數(shù)據(jù)庫連接、操作SQL舉例
  3. ADO.NET中容易混淆的概念
責(zé)任編輯:彭凡 來源: ITPUB
相關(guān)推薦

2009-11-04 09:43:45

ADO.NET Dat

2009-11-04 12:45:33

ADO.NET Dat

2009-10-29 13:34:01

ADO.NET對象

2009-11-13 14:38:45

ADO.NET Dat

2009-12-21 17:35:24

ADO.NET對象

2009-11-04 10:23:05

ADO.NET Con

2009-11-03 15:24:14

ADO.NET對象模型

2009-12-21 17:02:19

ADO.NET Sql

2009-06-18 09:56:44

ADO.NET對象模型

2009-11-13 15:25:51

ADO.NET的對象

2009-11-12 16:04:42

ADO.NET對象查詢

2009-11-04 11:30:35

ADO.NET Dat

2009-12-28 13:47:31

ADO.NET對象

2009-12-18 14:27:24

ADO.NET對象

2009-11-12 09:36:32

ADO.NET Sql

2009-11-11 09:11:19

2009-12-21 15:52:30

ADO.NET對象

2009-11-04 09:52:10

ADO.NET Sql

2009-11-04 16:31:40

ADO.NET Ora

2009-12-30 14:59:42

ADO.NET數(shù)據(jù)集
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號