C 中DataSet與DataTable的異同詳知

2021-09-11 13:41:18 字數 1727 閱讀 7541

c# dataset與datatable的區別和用法

dataset是資料集,datatable是資料表,dataset儲存多個datatable。dataset和datatable像是專門儲存資料的乙個容器,在你查詢資料庫得到一些結果時可以存在裡面。

dataset功能強大有瀏覽、排序、搜尋、過濾、處理分級資料、快取更改等功能,還可以與xml資料互換。dataset中可包括多個datatable,可將多個查詢結構存到乙個dataset中,方便操作 ado.net開發人員為方便資料處理開發出來的,是資料的集合,為解決datareader的缺陷設計的,datareader資料處理速度快,但它是唯讀的,一旦移到下一行就不能檢視上一行的資料,dataset則可以自由移動指標。dataset的資料是與資料庫斷開的。dataset還可用於多層應用程式中,如果應用程式執行在中間層的業務物件中來訪問資料庫,則業務物件需將離線資料結構傳遞給客戶應用程式。

dataset的三種建立方式

datatable() 不帶引數初始化datatable 類的新例項。

datatable(string tablename) 用指定的表名初始化datatable 類的新例項。

dataset的常用屬性介紹 :

casesensitive 指示表中的字串比較是否區分大小寫。如果是區分大小寫則為false,預設值為false。

childrelations 獲取此datatable 的子關係的集合。

columns 獲取屬於該錶的列的集合。

constraints 獲取由該錶維護的約束的集合。

dataset 獲取此表所屬的dataset。

defaultview 獲取可能包括篩選檢視或游標位置的表的自定義檢視。

haserrors 獲取乙個值,該值指示該錶所屬的dataset 的任何表的任何行中是否有錯誤。

minimumcapacity 獲取或設定該錶最初的起始大小。該錶中行的最初起始大小。預設值為 50。

rows 獲取屬於該錶的行的集合。

tablename 獲取或設定datatable 的名稱。

dataset常用方法 :

clear() 清除所有資料的datatable。

clone() 轉殖datatable 的結構,包括所有datatable 架構和約束。

endinit() 結束在窗體上使用或由另乙個元件使用的datatable 的初始化。初始化發生在執行時。

importrow(datarow row) 將datarow 複製到datatable 中,保留任何屬性設定以及初始值和當前值。

merge(datatable table) 將指定的datatable 與當前的datatable 合併。

newrow() 建立與該錶具有相同架構的新datarow。

acceptchanges() 提交自上次呼叫acceptchanges() 以來對該錶進行的所有更改。

begininit() 開始初始化在窗體上使用或由另乙個元件使用的datatable。初始化發生在執行時。

遍歷dataset的方法:

foreach(datatable dt in dataset.tables)foreach(datatable dt in dataset.tables)

foreach(datarow dr in dt.rows)

foreach(datacolumn dc in dr.table.columns)

console.writeline(dr[dc]);

C 中DataSet的使用

dataset類是ado.net中最核心的成員之一,它是支援ado.net斷開式 分布式資料方案的核心物件,也是各種開發基於.net平台程式語言開發資料庫應用程式最常接觸的類。dateset物件是建立在記憶體中的集合物件,他可以包含任意數量的資料表以及所有表的約束 索引和關係,它相當於在記憶體中的乙...

C 中DataSet和DataTable區別

你可以把datatable和dataset看做是資料容器,比如你查詢資料庫後得到一些結果,可以放到這種容器裡,那你可能要問 我不用這種容器,自己讀到變數或陣列裡也一樣可以存起來啊,為什麼用容器?原因是,這種容器的功能比較強大,除了可以存資料,還可以有更大用途。舉例 在乙個c s結構的桌面資料庫系統裡...

C 中DataTable和DataSet的使用

datatable是乙個臨時儲存資料的網格虛擬表,表示記憶體中資料的乙個表。dataset就是datatable的集合。建立datatable datatable dt newdatatable 向臨時表命名 dt.table 建立列 dt.columns.add id 新增列 dt.columns...