DataTable和DataSet什麼區別

2022-03-09 06:37:15 字數 1591 閱讀 7011

dataset包含很多個datatable 

一張表的時候用datatable就可以,多張表就用dataset了(datatable是一張表,dataset是表的集合。)

可以認為dataset就是乙個資料庫,datatable就是資料庫裡的表

(注:datatable是一張表,dataset是表的集合。

============================= 

dataset是資料的離線容器。它不包含資料庫連線的概念,   實際上儲存在dataset中的資料不一定**於資料庫。資料集(dataset)由一組資料表組成,每個表都有一些資料列和資料行。除了定義資料外,還可以在dataset中定義表之間的鏈結。

資料表非常類似於物理資料庫表,它由一些帶有特定屬性的列組成,可能包含0行或多行資料。資料表也可以定義主鍵碼(可以是乙個列或多個列),列上也可以包含約束。 

---- 

以上文字摘錄自《c#高階程式設計第3版》的相關章節

****************************************====

)你可以把datatable和dataset看做是資料容器,比如你查詢資料庫後得到一些結果,可以放到這種容器裡,那你可能要問:我不用這種容器,自己讀到變數或陣列裡也一樣可以存起來啊,為什麼用容器?

原因是,這種容器的功能比較強大,除了可以存資料,還可以有更大用途。舉例:在乙個c/s結構的桌面資料庫系統裡,你可以把前面存放查詢結果的容器裡的資料顯示到你客戶端介面上,使用者在介面上對資料進行新增、刪除、修改,你可以把使用者的操作更新到容器,等使用者操作完畢了,要求更新,然後你才把容器整個的資料變化更新到中心資料庫,這樣做的好處是什麼?就是減少了資料庫操作,客戶端速度提高了,資料庫壓力減小了。

dataset可以比作乙個記憶體中的資料庫,datatable是乙個記憶體中的資料表,dataset裡可以儲存多個datatable

dataset你可以把他看成是個資料庫,可以包括表,檢視等。

datatable:資料表。   

一:   

sqldataadapter   da=new   sqldataadapter(cmd);   

datatable   dt=new   datatable();   

da.fill(dt);   

-----------------   

直接把資料結果放到datatable中,   

二:   

sqldataadapter   da=new   sqldataadapter(cmd);   

dataset   dt=new   dataset();   

da.fill(dt);   

----------------   

資料結果放到dataset中,若要用那個datatable,可以這樣:dataset[0]   

更常見的用法:   

sqldataadapter   da=new   sqldataadapter(cmd);   

dataset   dt=new   dataset();   

da.fill(dt,"table1");   

用的時候:這樣取datatable:   

dataset["table1"]  

DataTable和DataReader的遍歷

1 datatable的遍歷 建立資料表 datatable dt getdatatable select from student 儲存資料 stringbuilder sb new stringbuilder 迴圈遍歷 逐行遍歷 foreach datarow row in dt.rows 獲取...

如何列印tensorflow 的dataset

有時,為了除錯資料,需要將資料列印打出來,可以用interator來遍歷資料 首先定義兩個遍歷函式,def print dataset self,data set iterator data set.make one shot iterator next element iterator.get n...

DataTable拷貝DataTable的資料

在開發的過程中,有時候我們需要對兩個資料結構一樣的datatable進行datarow的拷貝.datatable dt1 new datatable datatable dt2 new datatable 假如dt1跟dt2的結構一樣,並且有資料。將dt2的行拷貝到dt1 如果只是下面那樣寫是錯的 ...