6 5 DataSet物件

2022-05-14 19:15:50 字數 879 閱讀 5403

6.5 dataset物件

細心的讀者可能已經發現,在ado.net中,資料在記憶體中的快取稱為dataset(資料集),而在ado中稱為recordset(記錄集),這兩者的區別決定了ado.net和ado的主流連線機制的區別。

6.5.1 從recordset到dataset

recordset稱為記錄集,記錄實際上就是表中的行,所以行的集合就是表,所以recordset實際上就是記憶體中快取的一張資料表,如圖6-9所示。

圖6-9 記憶體中的recordset物件

由於recordset只能記錄一個資料表的內容,所以當涉及到兩個以上的表的操作時就必須生成多個recordset物件。

ado.net採取斷開連線機制時,dataset物件就將所有有關的資料庫的資料提取出來後按照資料庫的形式在記憶體中進行組織,其結構如圖6-10所示。

圖6-10 記憶體中的dataset物件

正是因為dataset物件中儲存了表及表之間的關係,所以才能支援斷開連線模式。

6.5.2 dataset物件的結構

除了多個表之外,在dataset物件中還儲存了表上的約束、表間的關係等,其體系結構如圖6-11所示。

圖6-11 dataset物件的體系結構