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是顯示資料的控件.
datatable、一個資料的表
把dataset看作資料庫,
把datatable看作資料庫裡的一個表
把datagridview看作顯示表裡資料的表格工具
DataReader基于連接配接,它傳回的資料是隻讀隻向前的,适合簡單地浏覽且耗時比較短的操作。DataSet對象會将所需資料讀入記憶體然後斷開連接配接。它适合對資料進行複雜長時間的操作,并且需要更新資料的情況。
SqlDataReader隻是建立與資料庫之間的類似于一個指針關系,在沒有調用Read()方法之間它不從資料讀出任何資料,而在調用Read()時也隻是從資料庫中讀出一條資料.DATATABLE是資料表的一個複本,至于DataSet可以反它看作一個資料庫,因為它不但可以包括多個表而且還能包括各表之間的關系.是以在進行大量資料通路時(特别是分頁方式的通路)建議使用SqlDataReader,這樣可以節省大量的記憶體開銷.