ADO與ADO.NET 的區別
前面也分別對ADO
和ADO.NET
進行概述,從前面的兩篇文章來看,我們都知道ADO
與ADO.NET
都是一種資料庫訪問的方式,都是從最基本的Connection
(連線)物件開始的,可以說ADO.NET
是ADO
的一種改進版,在ADO
的基礎之上ADO.NET
統一了資料容器類程式設計介面,無論你打算用哪種編寫哪種應用程式,都可以通過同一組類來處理資料 。
在ADO
的基礎上,ADO.NET
做了很多的改進,以下是它們區別:
1.物件不同:
ADO
使用的是OLEDB
介面並基於微軟的COM
技術,而ADO.NET
有自己的ADO.NET
介面並且基於微軟的.NET
體系架構。
2.儲存物件不同:
ADO
以Recordset
記錄集形式進行存放,ADO.NET
是以DateSet
資料集形式進行存放。記錄集看起來更像一個單表,如果要讓Recordset
以多表的方式就必須在SQL
中進行多表連線,反之,資料集是一個或多個表的集合,它就相當於是記憶體中的一個資料庫,資料庫記憶體放的是DataTable
物件,也就是我們平時所說的表。
3.連線方式不同:
ADO
在與資料庫連線後,會一直保持連線,直到斷開(為連線而設計)。而ADO.NET
讀取完所需要資料之後,會自動斷開連線。當需要更新資料時,會再次連線。也就是說ADO.NET
讀取資料庫中的資料有兩種方式:一種是基於線上的連線方式,一種是基於離線的非連線方式。為什麼會有這兩種方式呢?我想主要是由於ADO.NET
取消了以往的Recordset
物件,而採用DataSet
的緣故吧。
Dataset
,它相當於是記憶體中的一個資料庫,它是不依賴與資料庫的獨立資料集合,所謂獨立就是說,即使是斷開資料鏈路或者是關閉資料庫,它仍然是可以使用的。Dataset
內部是用XML(可擴充套件標記語言)來描述資料的。在訪問資料的時候,ADO.NET
會利用XML
製作資料的一份副本,也就是說只有在這段時間內是需要線上的。而在ADO
中,xml
只不過是一種輸入和輸出格式。
此外:由於Dataset
內部是用XML
(可擴充套件標記語言)格式來描述資料的,所以ADO.NET
對資料型別沒有限制。而Com
技術要求使用的資料型別必須是符合Com
規範,所以ADO
對資料型別有限制要求。
相關文章
- ADO.NET 1.1和2.0事務的區別
- ado.net 與lot
- entity framework與ADO.NET 2.0效率Framework
- ADO.Net的批量插入
- ADO.NET 總結
- ADO.NET物件模型物件模型
- 從 ADO“經典”遷移到 ADO.NET
- ADO.NET連線字串字串
- ADO.NET的Connection物件的使用物件
- 學習使用ADO.NET Data Services (ADO.NET 資料服務框架) - Part 1框架
- Ado.NET基礎必備
- ADO.NET中的五個主要物件物件
- 使用 【Ado.Net】 批量插入資料
- ADO.NET連線資料庫資料庫
- ado.net 連線資料庫資料庫
- ADO.NET連線池寫法
- ADO.NET五大物件詳解物件
- ADO.NET Entity Framework支援多ProviderFrameworkIDE
- ADO.NET入門學習備忘
- 連線池 sql server ado.net 使用SQLServer
- ADO.net實現資料更新(一)
- ADO.net學習記錄 (一) (轉)
- 關於ADO.Net SqlConnection的效能優化SQL優化
- ADO & ADO.NET中使用儲存過程的兩個共用的函式 (轉)儲存過程函式
- ADO.NET入門教程之Command物件與資料檢索物件
- C#快速入門教程(28)—— ADO.NETC#
- ADO.NET列舉資料提供者
- 轉摘百度文庫_ADO.NET
- ADO.NET三個核心物件的簡要說明物件
- 深入解讀 ADO.NET 2.0 的十大最新特性
- Delphi7下仿Ado.Net類的實現 (轉)
- ADO.NET 快速入門(十):過濾資料
- ADO.NET Entity Framework 深入分析系列文章Framework
- 在ADO.NET中使用Oracle儲存程式(轉)Oracle
- .NET 基礎拾遺(6)ADO.NET 與資料庫開發基礎資料庫
- ADO.NET中COMMAND物件的ExecuteNonQuery、ExcuteReader和ExecuteScalar方法物件
- Ado.net中SQLServer資料庫連線池(轉)SQLServer資料庫
- 微軟MVP為您詳述ADO.NET連線池微軟MVP