本文概述
它是包含数据的数据表的集合。它用于获取数据而不与数据源进行交互,这就是为什么,它也称为断开数据访问方法。它是一个内存中的数据存储,可以同时容纳多个表。我们可以使用DataRelation对象来关联这些表。 DataSet还可以用于读取和写入XML文档形式的数据。
ADO.NET提供了一个DataSet类,该类可用于创建DataSet对象。它包含用于执行与数据相关的操作的构造函数和方法。
数据集类签名
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
数据集构造函数
建设者 | 描述 |
---|---|
DataSet() | 它用于初始化DataSet类的新实例。 |
DataSet(String) | 它用于使用给定名称初始化DataSet类的新实例。 |
DataSet(SerializationInfo, StreamingContext) | 它用于初始化具有给定序列化信息和上下文的DataSet类的新实例。 |
DataSet(SerializationInfo, StreamingContext, Boolean) | 它用于初始化DataSet类的新实例。 |
数据集属性
物产 | 描述 |
---|---|
CaseSensitive | 它用于检查DataTable对象是否区分大小写。 |
DataSetName | 它用于获取或设置当前数据集的名称。 |
DefaultViewManager | 它用于获取DataSet中包含的数据的自定义视图, 以允许进行过滤和搜索。 |
HasErrors | 它用于检查此DataSet中的任何DataTable对象中是否有错误。 |
IsInitialized | 它用于检查DataSet是否已初始化。 |
Locale | 它用于获取或设置用于比较表中字符串的语言环境信息。 |
Namespace | 它用于获取或设置数据集的名称空间。 |
Site | 它用于获取或设置数据集的ISite。 |
Tables | 它用于获取DataSet中包含的表的集合。 |
数据集方法
下表包含一些常用的DataSet方法。
方法 | 描述 |
---|---|
BeginInit() | 它用于开始初始化在窗体上使用的DataSet。 |
Clear() | 它用于通过删除所有表中的所有行来清除所有数据的DataSet。 |
Clone() | 它用于复制数据集的结构。 |
Copy() | 它用于复制此DataSet的结构和数据。 |
CreateDataReader(DataTable[]) | 它返回一个DataTableReader, 每个DataTable具有一个结果集。 |
CreateDataReader() | 它返回一个DataTableReader, 每个DataTable具有一个结果集。 |
EndInit() | 它结束了在窗体上使用的DataSet的初始化。 |
GetXml() | 它返回存储在DataSet中的数据的XML表示形式。 |
GetXmlSchema() | 它返回用于存储在DataSet中的数据的XML表示形式的XML模式。 |
Load(IDataReader, LoadOption, DataTable[]) | 它用于使用提供的IDataReader用数据源中的值填充数据集。 |
Merge(DataSet) | 它用于将指定的DataSet及其模式合并到当前DataSet中。 |
Merge(DataTable) | 它用于将指定的DataTable及其模式合并到当前DataSet中。 |
ReadXml(XmlReader, XmlReadMode) | 它用于使用指定的XmlReader和XmlReadMode将XML模式和数据读入DataSet。 |
Reset() | 它用于清除所有表, 并从数据集中删除所有关系, 外部约束和表。 |
WriteXml(XmlWriter, XmlWriteMode) | 它用于使用指定的XmlWriter和XmlWriteMode写入当前数据以及可选的DataSet模式。 |
例
在这里,在此示例中,我们正在实现DataSet并将数据显示到gridview中。创建一个Web表单并将gridview从工具箱拖到该表单。我们可以在数据类别中找到它。
// DataSetDemo.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataSetDemo.aspx.cs"
Inherits="DataSetExample.DataSetDemo" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>
</form>
</body>
</html>
代码背后
// DataSetDemo.aspx.cs
using System;
using System.Data.SqlClient;
using System.Data;
namespace DataSetExample
{
public partial class DataSetDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection("data source=.; database=student; integrated security=SSPI"))
{
SqlDataAdapter sde = new SqlDataAdapter("Select * from student", con);
DataSet ds = new DataSet();
sde.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
}
}
输出:
通过组合Ctrl F5执行此代码。它将产生以下输出。
评论前必须登录!
注册