DataSet的主要方法:
1、Clear:清空DataSet的所有DataTable 2 Merge把兩個DataSet合并成一個 3 AcceptChanges 更新對DataSet的所有更改 4 GetChanges獲得對DataSet進行的所有更改 5 HasChanges 判斷是否有對DataSet進行更改 6 放棄對DataSet對數據庫進行的更改
對象:1 DataTable 記錄集(相當于表) 2 DataColumn 記錄集的字段(相當于列) 3 DataRow 記錄(相當于行)4 DataView 數據視圖,是基于DataSet對象中數據的查詢條件的。5 DataRelation 定義不同DataTable 之間的關系
寫了一個DataSet的代碼清單
DataSet ds=new DataSet();
DataTable dt1=new DataTable();
DataTable dt2=new DataTable();
DataColumn dc1=new DataColumn(“a1″,typeof(int));
DataColumn dc1=new DataColumn(“a2″,typeof(int));
DataColumn dc1=new DataColumn(“a2″,typeof(int));
DataColumn dc1=new DataColumn(“a3″,typeof(int));
dt1.Column.Add(dc1);
dt1.Column.Add(dc2);
dt2.Column.Add(dc2);
dt2.Column.Add(dc3);
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);
//在dt1和dt2之間建立一個名為a2的DataRelation
ds.Relation.Add(“a2″,ds.Tables["dt1"].Column["a2"],Tables["dt2"].Column["a2"]);
對象是對數據集合進行向前數條的讀取
DataSet和DataReader都可以完成對數據的操作和存儲
DataReader對數據讀取方便而且快 ,而DataSet有強大的數據庫操作功能和非連接訪問模式
DataReader和DataSet最大的區別:DataReader使用時始終占用SqlConnection,在線操作數據庫..任何對SqlConnection的操作都會引發DataReader的異常..因為DataReader每次只在內存中加載一條數據,所以占用的內存是很小的..因為DataReader的特殊性和高性能.所以DataReader是只進的 讀了第一條后就不能再去讀取第一條了
DataSet則是將數據一次性加載在內存中.拋棄數據庫連接..讀取完畢即放棄數據庫連接..因為DataSet將數據全部加載在內存中.所以比較消耗內存…但是確比DataReader要靈活..可以動態的添加行,列,數據.對數據庫進行回傳更新操作
應用:
1 當需要操作非連接數據,將數據發送到應用程序或客戶端,提供使用者進行更改之后更新數據庫的時候,用DataSet
2 當需要存儲、傳輸、操作多個數據庫表時,并且表之間存在著數據關系時,用DataSet
3 需要對數據進行調度操作時,如:數據分頁瀏覽或跳轉到固定記錄的時候用DataSet
4 當需要一次性讀取數據到客戶端而且沒有更新刪除操作時建議使用DataReader
5 需要遍歷一個數據集,對數據的每條記錄進行只讀時用DataReader