ADO.NET 的優點

更新:2007 年 11 月

與較舊版本的 ADO 以及其他資料存取元件相比,ADO.NET 提供了數項優點。這些優點可分類如下:

互通性

ADO.NET 應用程式可善加利用 XML 的彈性及其廣泛接受度。由於 XML 是在網路上傳送資料集的格式,因此任何可讀取 XML 格式的元件都能夠處理資料。事實上,接收元件並不一定要是 ADO.NET 元件;傳送元件可直接將資料集傳送至其目的端,而完全無須考慮接收元件是如何實作的。目的元件可以是 Visual Studio 應用程式或利用任何工具實作的任何應用程式。唯一的要求是接收元件能夠讀取 XML。做為工業標準的 XML 在當初設計時就已經完全將這種互通性列入考量。

可維護性

在部署系統的存留週期當中,可能會對系統稍作變更,但卻很少嘗試進行本質與架構的變更,原因是這些變更的困難度極高。這是相當令人遺憾的,因為在事件的自然發展中會需要這類本質上的變更。例如,當部署的應用程式有愈來愈多的使用者時,逐漸增加的效能負載就可能需要架構性的變更。隨著部署應用程式伺服器的效能負載逐漸增加,系統資源可能變得不足,而且回應時間或輸送量也可能會受到影響。面對這個問題,軟體設計人員可選擇將伺服器的商務邏輯處理與使用者介面處理分散到不同機器上的不同層當中。實際上,應用程式伺服器層是以兩層來取代,以紓解系統資源的不足。

這問題並不在於設計三層應用程式。而是要在應用程式部署之後增加層數。如果原始應用程式是在 ADO.NET 中使用資料集實作,這樣的轉換就容易進行。請記住,當您以兩層取代一層時,您要安排這兩層來交易資訊。由於每層可透過 XML 格式的資料集傳送資料,因此通訊相對較為容易。

可程式化能力

Visual Studio 中的 ADO.NET 資料元件會以各種方式封裝資料存取功能,幫助您更迅速也更正確地進行程式設計。例如,資料命令會擷取建置 (Build) 和執行 SQL 陳述式或預存程序的工作。

同樣地,設計工具產生的 ADO.NET 資料類別會產生具型別資料集。這將允許您透過型別程式設計存取資料。例如,以下這一行程式碼會存取不具型別的資料集當中的資料成員:

If totalCost > CType(dataSet1.Tables("Customers").Rows(n)("AvailableCredit"), Double) Then
if (totalCost > (double)dataSet1.Tables["Customers"].Rows[n]["AvailableCredit"])

而用來存取型別資料集當中的資料成員,同樣的程式碼則看起來如下:

If totalCost > dataSet2.Customers(n).AvailableCredit Then
if (totalCost > dataSet2.Customers[n].AvailableCredit)

型別資料集的程式碼比較容易讀取。而因為提供陳述式完成,因此較容易撰寫。例如,"AvailableCredit" 是完成以下陳述式的選擇之一:

If totalCost > dataSet2.Customers(n).

最後,由於能夠在編譯時期檢查型別,因此型別資料集的程式碼也較安全。例如,假設 AvailableCredit 表示成貨幣值。如果程式設計人員錯誤地將字串值指派給 AvailableCredit,環境就會在編譯時期時將錯誤報告給程式設計人員。當使用不具型別的資料集時,程式設計人員要到執行階段時才會發現錯誤。

如需具型別和不具型別之資料集的詳細資訊,請參閱 Visual Studio 中的資料集概觀

效能

對中斷連接應用程式來說,ADO.NET 資料集的效能要優於 ADO 中斷連接資料錄集 (Disconnected Recordset)。當使用 COM 封送處理 (Marshalling) 在各層之間傳送中斷連接資料錄集時,將資料錄集當中的值轉換為 COM 能夠辨認的資料型別可能就會花上相當的處理成本。在 ADO.NET 中就不需進行這種資料型別轉換。

延展性

由於 Web 可能會對您資料的需求大增,因此延展性 (Scalability) 就變得相當重要。網際網路應用程式可能具有無限多的使用者。雖然應用程式可以供幾十個使用者使用,但供上百個或是上萬個使用者使用時卻不一定有同等的表現。消耗資源的應用程式,例如資料庫鎖定和資料庫連結,將無法服務大量的使用者,因為使用者對這些有限資源的需求終將超過其供應上限。

ADO.NET 提供擴充性的方式是鼓勵程式設計人員節省有限資源。由於所有的 ADO.NET 應用程式都採用中斷連接資料存取,因此就不會長時間保持資料庫鎖定或使用資料庫連接。

請參閱

參考

System.Data

其他資源

資料存取使用者入門

連接至 Visual Studio 中的資料

準備您的應用程式以接收資料

將資料擷取至您的應用程式中

顯示 Windows 應用程式之表單上的資料

在您的應用程式中編輯資料

驗證資料

儲存資料

ADO.NET