新聞中心
這里介紹一點(diǎn)我自己在使用ADO.NET過(guò)程中的一點(diǎn)點(diǎn)心得,包括Microsoft ADO.NET框架提供的各種對(duì)象之間對(duì)比,如何選擇較好的解決方案等。這些都有助于優(yōu)化Microsoft ADO.NET應(yīng)用程序。由于作者開(kāi)發(fā)使用的是System.Data.SqlClient 命名空間下的SQL Server .NET 數(shù)據(jù)提供程序,所以本文在上述框架下展開(kāi)。

為興賓等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及興賓網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站制作、興賓網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
ADO.NET框架是.NET應(yīng)用程序的數(shù)據(jù)訪(fǎng)問(wèn)模型。它能用于訪(fǎng)問(wèn)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),如SQL Server 2000,及很多其它已經(jīng)配備了OLE DB供應(yīng)器的數(shù)據(jù)源。在某種程度上,ADO.NET代表了***版本的ADO技術(shù)。然而,ADO.NET引入了一些重大變化和革新,它們專(zhuān)門(mén)用于結(jié)構(gòu)松散的、本質(zhì)非鏈接的Web應(yīng)用程序。
ADO.NET框架引入的一個(gè)重要變化是,用DataTable, DataSet, DataAdapter, 和 DataReader對(duì)象的組合代替了ADO Recordset對(duì)象。DataTable表示來(lái)自一個(gè)表的行集合,在這方面它與Recordset類(lèi)似。DataSet表示DataTable對(duì)象的集合,及與其它表綁定在一起的關(guān)系和限制。實(shí)際上,DataSet是具有內(nèi)置的擴(kuò)展標(biāo)記語(yǔ)言(XML)支持的內(nèi)存中的關(guān)聯(lián)結(jié)構(gòu)。
#T#DataSet的一個(gè)主要特點(diǎn)是,它對(duì)底層的數(shù)據(jù)源一無(wú)所知,而這些數(shù)據(jù)源可能用于對(duì)其進(jìn)行填充。這是一個(gè)分離的用于表示數(shù)據(jù)集合的獨(dú)立實(shí)體,并且它可通過(guò)多層應(yīng)用程序的不同層由一個(gè)組件傳遞到另一組件。它也可作為XML 數(shù)據(jù)流被序列化,因而非常適合于不同類(lèi)型平臺(tái)間的數(shù)據(jù)傳輸。ADO.NET使用DataAdapter對(duì)象為發(fā)送到和來(lái)自DataSet及底層數(shù)據(jù)源的數(shù)據(jù)建立通道。DataAdapter對(duì)象還支持增強(qiáng)的批更新特性,以前這是Recorder的相關(guān)功能。
何時(shí)使用DataSet和DataReader
ADO.NET 提供以下兩個(gè)對(duì)象,用于檢索關(guān)系數(shù)據(jù)并將其存儲(chǔ)在內(nèi)存中:DataSet 和 DataReader。DataSet 提供一個(gè)內(nèi)存中數(shù)據(jù)的關(guān)系表示形式,一整套包括一些表在內(nèi)的數(shù)據(jù)(這些表包含數(shù)據(jù)、對(duì)數(shù)據(jù)進(jìn)行排序并約束數(shù)據(jù)),以及表之間的關(guān)系。DataReader 提供一個(gè)來(lái)自數(shù)據(jù)庫(kù)的快速、只進(jìn)、只讀數(shù)據(jù)流。當(dāng)設(shè)計(jì)應(yīng)用程序時(shí),要考慮應(yīng)用程序所需功能的等級(jí),以確定使用 DataSet 或者是 DataReader。要通過(guò)應(yīng)用程序執(zhí)行以下操作,就要使用 DataSet:在結(jié)果的多個(gè)離散表之間進(jìn)行導(dǎo)航。操作來(lái)自多個(gè)數(shù)據(jù)源(例如,來(lái)自多個(gè)數(shù)據(jù)庫(kù)、一個(gè) XML 文件和一個(gè)電子表格的混合數(shù)據(jù))的數(shù)據(jù)。在各層之間交換數(shù)據(jù)或使用 XML Web 服務(wù)。與 DataReader 不同的是,DataSet 能傳遞給遠(yuǎn)程客戶(hù)端。
重用同樣的行組,以便通過(guò)緩存獲得性能改善(例如排序、搜索或篩選數(shù)據(jù))。每行執(zhí)行大量處理。對(duì)使用 DataReader 返回的每一行進(jìn)行擴(kuò)展處理會(huì)延長(zhǎng)服務(wù)于 DataReader 的連接的必要時(shí)間,這影響了性能。使用 XML 操作對(duì)數(shù)據(jù)進(jìn)行操作,例如可擴(kuò)展樣式表語(yǔ)言轉(zhuǎn)換(XSLT 轉(zhuǎn)換)或 XPath 查詢(xún)。
對(duì)于下列情況,要在應(yīng)用程序中使用 DataReader:不需要緩存數(shù)據(jù)。要處理的結(jié)果集太大,內(nèi)存中放不下。一旦需要以只進(jìn)、只讀方式快速訪(fǎng)問(wèn)數(shù)據(jù)。
本文名稱(chēng):簡(jiǎn)單又好學(xué)的ADO.NET框架
當(dāng)前路徑:http://m.fisionsoft.com.cn/article/dhgiicp.html


咨詢(xún)
建站咨詢(xún)
