小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

DataReader和DataSet的異同

 悟靜 2012-05-05
DataSet的定義:對象是ADO。NET中非連接存儲和關(guān)系型數(shù)據(jù)處理的基礎(chǔ)數(shù)據(jù)對象。可以將從數(shù)據(jù)庫中取得的數(shù)據(jù)集合全部存儲于DataSet對象中,操作存儲于DataSet的數(shù)據(jù),然后再次連接到數(shù)據(jù)庫,根據(jù)DataSet的數(shù)據(jù)更新目前數(shù)據(jù)庫中的數(shù)據(jù)。
DataSet的主要方法:
1 Clear:清空DataSet的所有DataTable
2 Merge把兩個DataSet合并成一個
3 AcceptChanges更新對DataSet的所有更改
4 GetChanges獲得對DataSet進行的所有更改
5 HasChanges判斷是否有對DataSet進行更改
6 放棄對DataSet對數(shù)據(jù)庫進行的更改
對象:1 DataTable 記錄集(相當于表)
2 DataColumn 記錄集的字段(相當于列)
3 DataRow 記錄(相當于行)
4 DataView 數(shù)據(jù)視圖,是基于DataSet對象中數(shù)據(jù)的查詢條件的。
5 DataRelation 定義不同DataTable 之間的關(guān)系
寫了一個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"]);
對象是對數(shù)據(jù)集合進行向前數(shù)條的讀取
DataSet和DataReader都可以完成對數(shù)據(jù)的操作和存儲
DataReader對數(shù)據(jù)讀取方便而且快 ,而DataSet有強大的數(shù)據(jù)庫操作功能和非連接訪問模式
DataReader和DataSet最大的區(qū)別:DataReader使用時始終占用SqlConnection,在線操作數(shù)據(jù)庫..任何對SqlConnection的操作都會引發(fā)DataReader的異常..因為DataReader每次只在內(nèi)存中加載一條數(shù)據(jù),所以占用的內(nèi)存是很小的..因為DataReader的特殊性和高性能.所以DataReader是只進的 讀了第一條后就不能再去讀取第一條了
DataSet則是將數(shù)據(jù)一次性加載在內(nèi)存中.拋棄數(shù)據(jù)庫連接..讀取完畢即放棄數(shù)據(jù)庫連接..因為DataSet將數(shù)據(jù)全部加載在內(nèi)存中.所以比較消耗內(nèi)存…但是確比DataReader要靈活..可以動態(tài)的添加行,列,數(shù)據(jù).對數(shù)據(jù)庫進行回傳更新操作
應(yīng)用:
1 當需要操作非連接數(shù)據(jù),將數(shù)據(jù)發(fā)送到應(yīng)用程序或客戶端,提供使用者進行更改之后更新數(shù)據(jù)庫的時候,用DataSet
2 當需要存儲、傳輸、操作多個數(shù)據(jù)庫表時,并且表之間存在著數(shù)據(jù)關(guān)系時,用DataSet
3 需要對數(shù)據(jù)進行調(diào)度操作時,如:數(shù)據(jù)分頁瀏覽或跳轉(zhuǎn)到固定記錄的時候用DataSet
4 當需要一次性讀取數(shù)據(jù)到客戶端而且沒有更新刪除操作時建議使用DataReader
5 需要遍歷一個數(shù)據(jù)集,對數(shù)據(jù)的每條記錄進行只讀時用DataReader

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多