外汇交割是指: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
中,加入所有新表并合并所有现存的表