ADO.NET DataSet

17 Mar 2025 | 4 分钟阅读

它是一个包含数据的表的集合。它用于获取数据,而无需与数据源交互,因此也称为**断开连接**的数据访问方法。它是一个内存中的数据存储,可以同时容纳多个表。我们可以使用 DataRelation 对象来关联这些表。DataSet 也可以用于读写 XML 文档中的数据。

ADO.NET 提供了一个 DataSet 类,可用于创建 DataSet 对象。它包含用于执行数据相关操作的构造函数和方法。

DataSet 类的签名

DataSet 构造函数

构造函数描述
DataSet()用于初始化 DataSet 类的新实例。
DataSet(String)用于使用给定名称初始化 DataSet 类的新实例。
DataSet(SerializationInfo, StreamingContext)用于初始化具有给定序列化信息和上下文的 DataSet 类的新实例。
DataSet(SerializationInfo, StreamingContext, Boolean)用于初始化 DataSet 类的新实例。

DataSet 属性

性质描述
CaseSensitive(区分大小写)用于检查 DataTable 对象是否区分大小写。
DataSetName(DataSet 名称)用于获取或设置当前 DataSet 的名称。
DefaultViewManager(默认视图管理器)用于获取 DataSet 中包含的数据的自定义视图,以允许筛选和搜索。
HasErrors(是否有错误)用于检查此 DataSet 中是否存在任何 DataTable 对象中的错误。
IsInitialized(是否已初始化)用于检查 DataSet 是否已初始化。
区域设置用于获取或设置用于比较表中字符串的区域性信息。
命名空间用于获取或设置 DataSet 的命名空间。
Site(站点)用于获取或设置 DataSet 的 ISite。
用于获取 DataSet 中包含的表的集合。

DataSet 方法

下表包含 DataSet 的一些常用方法。

方法描述
BeginInit()用于开始初始化在窗体上使用的 DataSet。
Clear()用于通过删除所有表中所有行来清除 DataSet 中的任何数据。
Clone()用于复制 DataSet 的结构。
Copy()用于复制此 DataSet 的结构和数据。
CreateDataReader(DataTable[])使用每个 DataTable 的一个结果集返回一个 DataTableReader。
CreateDataReader()使用每个 DataTable 的一个结果集返回一个 DataTableReader。
EndInit()结束初始化在窗体上使用的 DataSet。
GetXml()返回存储在 DataSet 中的数据的 XML 表示形式。
GetXmlSchema()返回存储在 DataSet 中的数据的 XML 表示形式的 XML 架构。
Load(IDataReader, LoadOption, DataTable[])用于使用提供的 IDataReader 从数据源填充 DataSet。
Merge(DataSet)用于将指定的 DataSet 及其架构合并到当前 DataSet 中。
Merge(DataTable)用于将指定的 DataTable 及其架构合并到当前 DataSet 中。
ReadXml(XmlReader, XmlReadMode)用于使用指定的 XmlReader 和 XmlReadMode 将 XML 架构和数据读入 DataSet。
重置()用于清除所有表并从 DataSet 中删除所有关系、外键约束和表。
WriteXml(XmlWriter, XmlWriteMode)用于使用指定的 XmlWriter 和 XmlWriteMode 写入当前数据,并可选地写入 DataSet 的架构。

示例

在此示例中,我们正在实现**DataSet**并将数据展示到 gridview 中。创建一个 web 表单,并从**工具箱**将一个 gridview 拖到表单上。我们可以在数据类别中找到它。

ADO Net Dataset 1

// DataSetDemo.aspx

代码后台

// DataSetDemo.aspx.cs

输出

通过组合**Ctrl+F5**执行此代码。它将产生以下输出。