日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

浅谈ADO.NET中的五个主要对象

發(fā)布時(shí)間:2024/9/20 asp.net 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈ADO.NET中的五个主要对象 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
ADO.NET 對(duì)象模型中有五個(gè)主要的組件,分別是Connection 對(duì)象、Command 對(duì)象、DataSetCommand、DataSet 以及DataReader。這些組件中 負(fù)責(zé)建立聯(lián)機(jī)和數(shù)據(jù)操作的部分 我們稱為數(shù)據(jù)操作組件(Managed Providers) ,分別由Connection 對(duì)象、Command 對(duì)象、DataSetCommand 對(duì)象以及DataReader 對(duì)象所組成。數(shù)據(jù)操作組件最主要是當(dāng)作DataSet 對(duì)象以及數(shù)據(jù)源之間的橋梁,負(fù)責(zé)將數(shù)據(jù)源中的數(shù)據(jù)取出后植入DataSet 對(duì)象中,以及將數(shù)據(jù)存回?cái)?shù)據(jù)源的工作。 Connection對(duì)象 Connection 對(duì)象主要是開(kāi)啟程序和數(shù)據(jù)庫(kù)之間的連結(jié)。沒(méi)有利用連結(jié)對(duì)象將數(shù)據(jù)庫(kù)打開(kāi),是無(wú)法從數(shù)據(jù)庫(kù)中取得數(shù)據(jù)的。這個(gè)物件在ADO.NET 的最底層,我們可以自己產(chǎn)生這個(gè)對(duì)象,或是由其它的對(duì)象自動(dòng)產(chǎn)生。 Command對(duì)象 Command 對(duì)象主要可以用來(lái)對(duì)數(shù)據(jù)庫(kù)發(fā)出一些指令,例如可以對(duì)數(shù)據(jù)庫(kù)下達(dá)查詢、新增、修改、刪除數(shù)據(jù)等指令,以及呼叫存在數(shù)據(jù)庫(kù)中的預(yù)存程序等。這個(gè)對(duì)象是架構(gòu)在Connection 對(duì)象上,也就是Command 對(duì)象是透過(guò)連結(jié)到數(shù)據(jù)源的Connection 對(duì)象來(lái)下命令的;所以Connection連結(jié)到哪個(gè)數(shù)據(jù)庫(kù),Command 對(duì)象的命令就下到哪里。 DataSetCommand對(duì)象 DataSetCommand 對(duì)象主要是在數(shù)據(jù)源以及DataSet 之間執(zhí)行數(shù)據(jù)傳輸?shù)墓ぷ?#xff0c;它可以透過(guò) Command 對(duì)象下達(dá)命令后,并將取得的數(shù)據(jù)放入DataSet 對(duì)象中。這個(gè)對(duì)象是架構(gòu)在Command對(duì)象上,并提供了許多配合DataSet 使用的功能。在Beta 2 版中DataSetCommand 物件會(huì)更名為DataAdapter。 DataSet對(duì)象 DataSet 這個(gè)對(duì)象可以視為一個(gè)暫存區(qū)(Cache),可以把從數(shù)據(jù)庫(kù)中所查詢到的數(shù)據(jù)保留起來(lái),甚至可以將整個(gè)數(shù)據(jù)庫(kù)顯示出來(lái)。DataSet 的能力不只是可以儲(chǔ)存多個(gè)Table,還可以透過(guò)DataSetCommand 對(duì)象取得一些例如主鍵等的數(shù)據(jù)表結(jié)構(gòu),并可以記錄數(shù)據(jù)表間的關(guān)聯(lián)。 DataSet 對(duì)象可以說(shuō)是ADO.NET 中重量級(jí)的對(duì)象,這個(gè)對(duì)象架構(gòu)在DataSetCommand 對(duì)象上,本身 不具備和數(shù)據(jù)源溝通的能力 ;也就是說(shuō)我們是將DataSetCommand 對(duì)象當(dāng)做DataSet 對(duì)象以及數(shù)據(jù)源間傳輸數(shù)據(jù)的橋梁。 DataReader對(duì)象 當(dāng)我們只需要循序的讀取數(shù)據(jù)而不需要其它操作時(shí),可以使用DataReader 對(duì)象。DataReader 對(duì)象只是一次一筆向下循序地讀取數(shù)據(jù)源中的數(shù)據(jù),不作其它的操作。因?yàn)镈ataReader 在讀取數(shù)據(jù)的時(shí)候限制了每次只讀取一筆,而且只能只讀,所以使用起來(lái)不但節(jié)省資源而且效率很好。此外,因?yàn)椴挥冒褦?shù)據(jù)全部傳回,故可以降低網(wǎng)絡(luò)的負(fù)載。 ADO.NET 的數(shù)據(jù)操作組件(Managed Providers) ADO.NET 的數(shù)據(jù)存取和之前的版本不一樣。前版的ADO 存取數(shù)據(jù)的方式只有一種,那就是透過(guò)OLE DB 來(lái)存取數(shù)據(jù);而現(xiàn)在的ADO.NET 則分為兩種,一種是直接存取MS SQL Server 中的數(shù)據(jù),另一種是透過(guò)OLE DB 來(lái)存取其它數(shù)據(jù)庫(kù)中的數(shù)據(jù)。前面我們提過(guò): 要存取數(shù)據(jù)源中的數(shù)據(jù),要透過(guò)數(shù)據(jù)操控組件 。這個(gè)數(shù)據(jù)操作組件就是Connection 對(duì)象、Command 對(duì)象、DataSetCommand 對(duì)象以及DataReader 對(duì)象。由于我們可以選擇透過(guò)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 對(duì)象、Command 對(duì)象、DataSetCommand 對(duì)象及 DataReader 對(duì)象。這兩種數(shù)據(jù)操作組件雖然針對(duì)的數(shù)據(jù)源不一樣,但是這些對(duì)象的架構(gòu)都一樣。例如ADOConnection 和SQLConnection 對(duì)象雖然一個(gè)是針對(duì)OLE DB,而另一個(gè)是針對(duì)MS SQLServer,但是這兩個(gè)對(duì)象都有一樣的屬性、事件及方法,所以使用起來(lái)并不會(huì)造成困擾;只要針對(duì)所要建立的數(shù)據(jù)源種類來(lái)選擇ADO 數(shù)據(jù)操作組件,或是SQL 數(shù)據(jù)操作組件就可以了。雖然我們也可以透過(guò)OLE DB 來(lái)存取MS SQL Server 中的資料,但是透過(guò)SQL 類別對(duì)象來(lái)存取MS SQL Server 中的數(shù)據(jù)效率最好;這是因?yàn)镾QL 類別不經(jīng)過(guò)OLE DB 這一層,而是直接呼叫MS SQL Server 中的API,所以效率比較好。ADO.NET 對(duì)于這兩種數(shù)據(jù)存取方式所使用的對(duì)象完全不一樣,在使用的時(shí)候必須要特別注意。

總結(jié)

以上是生活随笔為你收集整理的浅谈ADO.NET中的五个主要对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。