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

分享

8.3 DataSet類

 悟靜 2011-11-07

8.3 DataSet類

DataSet是非連接數(shù)據(jù)訪問的核心。DataSet包含兩類最重要的元素:零個(gè)或多個(gè)表的集合(通過Tables屬性提供)以及零個(gè)或多個(gè)關(guān)系的集合(通過Relation屬性提供),關(guān)系可以把表連接到一起。圖8-3顯示了DataSet的基本架構(gòu)。

圖8-3  分解DataSet

注解

有時(shí)候,ADO.NET新手會錯(cuò)誤地認(rèn)為DataSet應(yīng)該包括數(shù)據(jù)源中指定表的全部信息。事實(shí)并非如此。由于性能的原因,DataSet可能只是和數(shù)據(jù)源所有信息的一小部分一起工作。此外,DataSet不必和數(shù)據(jù)源中的表直接對應(yīng)。DataSet的某個(gè)表可以是數(shù)據(jù)源中某個(gè)表查詢的結(jié)果,也可以是通過JOIN語句關(guān)聯(lián)的幾個(gè)表的結(jié)果。

從圖8-3可以看出,DataSet.Tables集合里的每個(gè)項(xiàng)目是一個(gè)DataTable。DataTable又包含自己的集合--DataColumn對象的Columns集合(它描述每個(gè)字段的名稱和數(shù)據(jù)類型)以及DataRow對象的Rows集合(它包含每條記錄的真正數(shù)據(jù))。

DataTable里的每條記錄由一個(gè)DataRow對象表示。每個(gè)DataRow對象表示由數(shù)據(jù)源取得的表的一條記錄。DataRow是真正字段值的容器。可以通過字段名稱訪問它們,如myRow["FieldName"]。請記住使用DataSet對象工作時(shí)根本不會直接影響到數(shù)據(jù)源里的數(shù)據(jù)。相反,所有變化只是作用到本地內(nèi)存里的DataSet。DataSet從不保存任何類型的數(shù)據(jù)源連接。

DataSet還有讀寫XML數(shù)據(jù)和架構(gòu)的方法,以及快速清除或復(fù)制數(shù)據(jù)的方法。表8-1列出了這些方法。你將在第14章中學(xué)習(xí)XML的更多知識。

表8-1  DataSet XML及其他方法

方法

描述

GetXml()GetXmlSchema()

返回含有數(shù)據(jù)的字符串(用XML標(biāo)記)
DataSet的架構(gòu)信息。架構(gòu)信息是一些結(jié)構(gòu)
化的信息,包括表的數(shù)量、名稱、列、數(shù)據(jù)類型以及關(guān)系

WriteXml()WriteXmlSchema()

DataSet的數(shù)據(jù)或架構(gòu)持久化到文件或XML格式的流

ReadXml()ReadXmlSchema()

根據(jù)現(xiàn)有的XMLXML架構(gòu)文檔在DataSet
創(chuàng)建一個(gè)表。XML源可以是文件或者任意的其他流

Clear()

清空表中的數(shù)據(jù)。不過,該方法保持架構(gòu)和關(guān)系信息不變

Copy()

返回一個(gè)完全相同的DataSet,具有同樣的表、關(guān)系和數(shù)據(jù)

Clone()

返回一個(gè)結(jié)構(gòu)相同(表和關(guān)系)的DataSet,但沒有數(shù)據(jù)

Merge()

用另一DataSet作為輸入并把它合并到當(dāng)前DataSet
中,加入所有新表并合并所有現(xiàn)存的表

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多