博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ADO.NET基础必备之DataSet
阅读量:4330 次
发布时间:2019-06-06

本文共 2839 字,大约阅读时间需要 9 分钟。

DataSet

表示数据在内存中的缓存。

1,  DataSet 是 ADO.NET 结构的主要组件,它是从数据源中检索到的数据在内存中的缓存。

2,  DataSet 由一组 DataTable 对象组成,您可使这些对象与 DataRelation 对象互相关联。

3,  DataSet 可将数据和架构作为 XML 文档进行读写。数据和架构可通过 HTTP 传输,并在支持 XML 的任何平台上被任何应用程序使用。可使用 WriteXmlSchema 方法将架构保存为 XML 架构,并且可以使用 WriteXml 方法保存架构和数据。若要读取既包含架构也包含数据的 XML 文档,请使用 ReadXml 方法。

4,  在典型的多层实现中,用于创建和刷新 DataSet 并依次更新原始数据的步骤包括:

 

1. 通过 DataAdapter 使用数据源中的数据生成和填充 DataSet 中的每个 DataTable。

 

2.通过添加、更新或删除 DataRow 对象更改单个 DataTable 对象中的数据。

 

3.调用 GetChanges 方法以创建只反映对数据进行的更改的第二个 DataSet。

 

4.调用 DataAdapter 的 Update 方法,并将第二个 DataSet 作为参数传递。

 

5调用 Merge 方法将第二个 DataSet 中的更改合并到第一个中。

 

6针对 DataSet 调用 AcceptChanges。或者,调用 RejectChanges 以取消更改。

 

 

DataTable

表示内存中数据的一个表。

――若要向 DataTable 中添加行,必须先使用 NewRow 方法返回新的 DataRow 对象。

DataColumn

表示 DataTable 中列的架构。

--DataColumn 是用于创建 DataTable 的架构的基本构造块。通过向 DataColumnCollection 中添加一个或多个 DataColumn 对象来生成这个架构。

――每个 DataColumn 都有 DataType 属性,该属性确定 DataColumn 所包含的数据的种类。例如,可以将数据类型限制为整数、字符串或小数。由于 DataTable 所包含的数据通常合并回其原始数据源,因此必须使其数据类型与数据源中的数据类型匹配。

DataRow

表示 DataTable 中的一行数据。

――DataRow 和 DataColumn 对象是 DataTable 的主要组件。

――使用 DataRow 对象及其属性和方法检索、评估、插入、删除和更新 DataTable 中的值。

――若要创建新的 DataRow,请使用 DataTable 对象的 NewRow 方法。

――创建新的 DataRow 之后,请使用 Add 方法将新的 DataRow 添加到 DataRowCollection 中。

――调用 DataTable 对象的 AcceptChanges 方法以确认是否已添加。

――可通过调用 DataRowCollection 的 Remove 方法或调用 DataRow 对象的 Delete 方法,从 DataRowCollection 中删除 DataRow。

 

DataRowCollection

表示 DataTable 的行的集合。

――DataRowCollection 是 DataTable 的主要组件。

――当 DataColumnCollection 定义表的架构时,DataRowCollection 中包含表的实际数据,在该表中,DataRowCollection 中的每个 DataRow 表示单行。

――可通过调用 Add 和 Remove 方法,从 DataRowCollection 中插入和删除 DataRow 对象。

――还可通过调用 Find 方法搜索在主键列中包含特定值的 DataRow 对象,也可通过调用 Contains 方法在基于字符的数据中搜索单个单词或词组。

 

DataColumnCollection

表示 DataTable 的 DataColumn 对象的集合。

――DataColumnCollection 定义 DataTable 的架构,并确定每个 DataColumn 可以包含什么种类的数据。

――可以通过 DataTable 对象的 Columns 属性访问 DataColumnCollection。

――DataColumnCollection 使用 Add 和 Remove 方法插入和删除 DataColumn 对象。

――使用 Count 属性确定集合中有多少 DataColumn 对象。

――使用 Contains 方法验证集合中是否存在指定索引或列名称。

 

DataTable.NewRow 方法

建与该表具有相同架构的新 DataRow。

――返回值

类型:System.Data.DataRow

返回DataRow,其架构与 DataTable 的架构相同。

 

――备注

-必须使用 NewRow 方法才能创建与 DataTable 具有相同架构的新 DataRow 对象。

-在创建 DataRow 之后,可以通过 DataTable 对象的 Rows 属性将其添加到 DataRowCollection 中。

-使用 NewRow 创建新行时,必须先对这些行进行处理,然后再调用 Clear。

 

DataTable.Rows 属性

获取属于该表的行的集合。

――若要创建新的 DataRow,必须使用 NewRow 方法返回新对象。这样的对象将按照架构自动配置,该架构是通过 DataColumn 对象的集合为 DataTable 定义的。

――在创建新行并为该行中每个列设置值之后,使用 Add 方法将该行添加到 DataRowCollection 中。

 

――集合中的每个 DataRow 表示表中的一行数据。若要提交对行中某一列的值的更改,必须调用 AcceptChanges 方法。

DataTable.Clear 方法

清除所有数据的 DataTable。

――所有表中的所有行都被移除。如果表中有任何将使子行孤立的强制子关系,则生成异常。

――如果 DataSet 绑定到 XmlDataDocument,则调用 DataSet..::.Clear 或 DataTable..::.Clear 将引发 NotSupportedException。为避免这种情况,请遍历每个表,逐个移除每一行。使用 NewRow 创建新行时,必须先对这些行进行处理,然后再调用 Clear。

转载于:https://www.cnblogs.com/net515/archive/2012/06/10/2544137.html

你可能感兴趣的文章
虚拟机centOs Linux与Windows之间的文件传输
查看>>
ethereum(以太坊)(二)--合约中属性和行为的访问权限
查看>>
IOS内存管理
查看>>
middle
查看>>
[Bzoj1009][HNOI2008]GT考试(动态规划)
查看>>
Blob(二进制)、byte[]、long、date之间的类型转换
查看>>
OO第一次总结博客
查看>>
day7
查看>>
iphone移动端踩坑
查看>>
vs无法加载项目
查看>>
Beanutils基本用法
查看>>
玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
查看>>
《BI那点儿事》数据流转换——百分比抽样、行抽样
查看>>
哈希(1) hash的基本知识回顾
查看>>
Leetcode 6——ZigZag Conversion
查看>>
dockerfile_nginx+PHP+mongo数据库_完美搭建
查看>>
Http协议的学习
查看>>
【转】轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
设计模式那点事读书笔记(3)----建造者模式
查看>>
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>