外汇交割是指:8.3 DataSet类

来源:百度文库 编辑:中财网 时间:2024/04/30 13:54:56

8.3 DataSet类

DataSet是非连接数据访问的核心。DataSet包含两类最重要的元素:零个或多个表的集合(通过Tables属性提供)以及零个或多个关系的集合(通过Relation属性提供),关系可以把表连接到一起。图8-3显示了DataSet的基本架构。

图8-3  分解DataSet

注解

有时候,ADO.NET新手会错误地认为DataSet应该包括数据源中指定表的全部信息。事实并非如此。由于性能的原因,DataSet可能只是和数据源所有信息的一小部分一起工作。此外,DataSet不必和数据源中的表直接对应。DataSet的某个表可以是数据源中某个表查询的结果,也可以是通过JOIN语句关联的几个表的结果。

从图8-3可以看出,DataSet.Tables集合里的每个项目是一个DataTable。DataTable又包含自己的集合--DataColumn对象的Columns集合(它描述每个字段的名称和数据类型)以及DataRow对象的Rows集合(它包含每条记录的真正数据)。

DataTable里的每条记录由一个DataRow对象表示。每个DataRow对象表示由数据源取得的表的一条记录。DataRow是真正字段值的容器。可以通过字段名称访问它们,如myRow["FieldName"]。请记住使用DataSet对象工作时根本不会直接影响到数据源里的数据。相反,所有变化只是作用到本地内存里的DataSet。DataSet从不保存任何类型的数据源连接。

DataSet还有读写XML数据和架构的方法,以及快速清除或复制数据的方法。表8-1列出了这些方法。你将在第14章中学习XML的更多知识。

表8-1  DataSet XML及其他方法

方法

描述

GetXml()和GetXmlSchema()

返回含有数据的字符串(用XML标记)
或DataSet的架构信息。架构信息是一些结构
化的信息,包括表的数量、名称、列、数据类型以及关系

WriteXml()和WriteXmlSchema()

将DataSet的数据或架构持久化到文件或XML格式的流

ReadXml()和ReadXmlSchema()

根据现有的XML或XML架构文档在DataSet中
创建一个表。XML源可以是文件或者任意的其他流

Clear()

清空表中的数据。不过,该方法保持架构和关系信息不变

Copy()

返回一个完全相同的DataSet,具有同样的表、关系和数据

Clone()

返回一个结构相同(表和关系)的DataSet,但没有数据

Merge()

用另一DataSet作为输入并把它合并到当前DataSet
中,加入所有新表并合并所有现存的表