ADO.NET物件模型

javaprogramers發表於2005-04-21
   ADO.NET是專門為幫助開發人員開發高效的多層資料庫應用程式設計的。ADO.NET物件模型可分為兩類:一類為“連線的”,一類為“斷開連線的”物件,後者允許將查詢結果儲存在記憶體中進行處理。

”連線的“物件模型顧名思義,它是直接與資料庫進行連線操作;“斷開連線”的物件模型可以說是建立在“連線的”物件模型的基礎上進行的,因為它必須先進行一次“連線的”操作,才能得到所需的結果。

      舉個例 :                        

SqlConnection con=new SqlConnection("server=localhost;database=db,uid=sa,pwd=;");

SqlDataAdapter ad=new SqlDataAdapter("select * from table",con);

DataSet ds=new Dataset();

ad.Fill(ds,"table");

//注意這裡已經將從資料庫裡查詢出來的結果放到一個Dataset物件裡,從此刻開始,你就開始使用“斷開連線”的物件模型來對資料庫進行操作,DataSet物件是一個在記憶體中的”虛資料表“,你可以對它進行任何操作而不影響資料庫,可以對它進行排序,修改,查詢,增加,刪除。而如果你想更改資料庫內容的話,也可以通過DataSet物件來操作,很簡單,呼叫它的update()方法即可完成更新資料庫。也可以使用它的GetChanges()方法來獲取只更改過的行,它返回一個DataSet,這個Dataset不同於呼叫GetChanges()方法的那個,返回的這個只是它的一張子表,也就是更改過的資料,利用此方法可以大大地提高多層ADO.NET應用程式的效能。DataSet類還有一個Merge方法用來合併兩個DataSet物件的資料,ADO.NET預設覆蓋被呼叫Merge()方法的DataSet中的行。

ADO.NET還提供了一種強型別的DATASET物件:它可以幫助你簡化建立資料訪問應用程式的過程。例如:有個表叫table,其中有一列叫column你可以這樣來訪問此列:

vb.net:    Dim ds as DataSet

            Console.WriteLine(ds.table(0).column);   (table(0).表示table表中的第1行)

c#:         DataSet ds;

             Console.WriteLine(ds.table[0].column);  (table[0].表示table表中的第1行)

是不是很簡潔: ^_^

關於DataSet裡面還有好多東西方便用如:DataTable,DataView,DataRow,DataColumn,DataRelation,Constraint一大堆的好東西,在以後的日誌中會提到!

相關文章