ArrayList、Hashtable、DataTable、DataView、DataReader和DataSet,DataGrid等的區別和各自的優缺點
阿新 • • 發佈:2019-02-19
ArrayList是可變陣列,只能通過索引來查詢資料。通過Add()方法新增資料..
Hashtable是雜湊表..存的是鍵值對...一個鍵對應一個值.優點就是可以通過關鍵字來找到對應的資料.
如:Hashtable ht = new Hashtable();
ht["a"] = "張三";
ht["b"] = "李四";
要獲得張三就可以通過 ht["a"]來得到, 而ArrayList就沒有這麼好用.
DataView 的好處就是能夠給一個DataTable定義多個檢視, 當有兩個DataGrid需要顯示同一個DataTable中的資料的時候,可以定義兩個DataView來繫結到控制元件上。
DataReader用於一行一行的讀取資料。
DataSet是資料集...裡面放的是多個數據表.用來儲存查詢到的資料. 它相對於DataReader可以建立本地副本,還可以進行很多操作,比如篩選,排序等,若對資料不進行操作最好選擇DataReader.DataSet是個類.
DataGrid是顯示資料的控制元件.
Hashtable是雜湊表..存的是鍵值對...一個鍵對應一個值.優點就是可以通過關鍵字來找到對應的資料.
如:Hashtable ht = new Hashtable();
ht["a"] = "張三";
ht["b"] = "李四";
要獲得張三就可以通過 ht["a"]來得到, 而ArrayList就沒有這麼好用.
DataView 的好處就是能夠給一個DataTable定義多個檢視, 當有兩個DataGrid需要顯示同一個DataTable中的資料的時候,可以定義兩個DataView來繫結到控制元件上。
DataReader用於一行一行的讀取資料。
DataSet是資料集...裡面放的是多個數據表.用來儲存查詢到的資料. 它相對於DataReader可以建立本地副本,還可以進行很多操作,比如篩選,排序等,若對資料不進行操作最好選擇DataReader.DataSet是個類.
DataGrid是顯示資料的控制元件.
datatable、一個數據的表
把dataset看作資料庫,
把datatable看作資料庫裡的一個表
把datagridview看作顯示錶裡資料的表格工具
DataReader基於連線,它返回的資料是隻讀只向前的,適合簡單地瀏覽且耗時比較短的操作。DataSet物件會將所需資料讀入記憶體然後斷開連線。它適合對資料進行復雜長時間的操作,並且需要更新資料的情況。
SqlDataReader只是建立與資料庫之間的類似於一個指標關係,在沒有呼叫Read()方法之間它不從資料讀出任何資料,而在呼叫Read()時也只是從資料庫中讀出一條資料.DATATABLE是資料表的一個複本,至於DataSet可以反它看作一個數據庫,因為它不但可以包括多個表而且還能包括各表之間的關係.所以在進行大量資料訪問時(特別是分頁方式的訪問)建議使用SqlDataReader,這樣可以節省大量的記憶體開銷.