有的資料把ADO.NET(Active Data Objects.NET)分爲了數據提供者和用戶對象兩部分。不深入研究的話,大體上數據提供者對象有:
Connection對象;
Commond對象;
DataReader對象;
DataAdapter對象;
而用戶對象有:
DataSet;
DataTable;
DataRow;
DataColumn;
可以看到,兩者的最主要區別就是:用戶對象可以爲數據庫中的信息提供一個本地的拷貝,可以在切斷數據庫連接的時候處理這個信息。可以按照任何順序讀行,可以按靈活的方式搜索、排序和過濾這些行,甚至可以改變這些行,然後還可以將所做的改變同步到數據庫。
有時候,特定的命名空間才能操作特定的數據庫連接(部分),這些對應關係有:
sqlserver:
using System.Data.SqlClient;
OLEDB.NET數據提供者:
using System.Data.OleDb;
Oracle:
using System.Data.OracleClient;
ODBC.NET數據提供者:
using System.Data.Odbc
可以看出,針對不同的數據源來說,以上四個數據提供者,提供不同類型的服務,其中有oracle和sqlserver專有的數據者,也有針對比較通用的數據源如oledb.net數據提供者和odbc.net數據提供者。OleDb用於access數據庫的連接,sqlClient用sqlserver的連接,oracleclient用於oracle的連接。
在編程的時候需要注意的是,各種數據源的操作基本相同,不同的是操作的實現類有所不同,在用commond命令執行sql語句時,查詢操作時使用ExecuteReader()方法,而其他操作需要使用ExecuteNonQuery()方法。同時,Connection需要打開和關閉,Reader對象需要關閉。