ADO.NET
ADO.NET基本原素 ADO.NET的二個基本原素 .NET Data Provider DataSet 連線到資料來源,並在其中執行SQL命令 DataSet 離線資料處理物件,不連線到資料來源,也不須知道資料從何而來
.NET Data Provider .NET Data Provider是位於System.Data命名空間下,用來處理資料連線,執行SQL命令的類別 主要由四個元件組成: connection command DataReader DataAdapter
.NET 提供五種provider SqlClient Provider OleDb Provider Odbc Provider 適用於SQL server 7.0之後版本資料庫 OleDb Provider 適用於SQL server 6.5以前,及其他未提供原生provider資料來源 Odbc Provider 適用所有使用ODBC驅動程式的資料來源 OracleClient Provider 適用oracle資料庫 SqlServerCE Provider 適用SQL Server CE 的資料庫
使用.NET Data Provider 選擇適用provider,如為.NET framework提供,則直接實體化其提供類別,進行操作。其他provider則將其.dll檔複製,並在專案中指向參照之。 如:SqlClient Provider則使用 SqlConnection, SqlCommand, SqlDataReader, SqlDataAdatpter 以connection物件建立資料連線,以command物件執行SQL命令,並取得資料結果集建立DataReader物件 以DataAdapter物件做為資料來源與DataSet物件橋樑,進行資料操作
ADO.NET物件模型
離線式存取 DataSet搭配Connection、DataAdapter,執行步驟先建立一個Connection物件連接到資料來源並開啟連線通道,再建立DataAdapter物件執行查詢命令或選取資料,接下來必須透過DataAdapter將資料填入DataSet
DataSet 「離線式存取」 資料填入DataSet之後,就要在DataSet中進行資料的處理及運算,但是應該特別注意,這段在DataSet的運作都是在記憶體中,不會立即對資料庫產生影響,要等到最後透過DataAdapter將DataSet中處理過的資料填回資料庫之後,才會真的影響到資料庫,這點和ADO時代即時連線方式的Recordset物件運作相當不同
即時連線存取 即時連線的方式存取資料來源,採用DataReader搭配Connection、Command,執行步驟先建立一個Connection物件連接到資料來源並開啟連線通道,再建立Command物件以執行查詢命令或T-SQL命令,再建立一個DataReader將回傳的資料一一讀出,最後再呼叫Close方法關閉DataReader和資料庫連線。