ADO.Net的DataSet类包含数据的数据表集合。它用于在不与数据源交互的情况下获取数据,这就是为什么它也被称为断开数据访问方法。这是一个内存数据存储,可以同时容纳多个表。可以使用DataRelation对象来关联这些表。 DataSet也可以用来读写XML文档中的数据。
ADO.NET提供了一个可用于创建DataSet对象的DataSet类。它包含执行数据相关操作的构造函数和方法。
DataSet类的签名
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource,
System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable,
System.Xml.Serialization.IXmlSerializable
DataSet类构造函数
| 编号 | 构造函数 | 描述 |
|---|---|---|
| 1 | DataSet() |
它用于初始化DataSet类的新实例。 |
| 2 | DataSet(String) |
它用于使用给定名称初始化DataSet类的新实例。 |
| 3 | DataSet(SerializationInfo, StreamingContext) |
它用于初始化具有给定序列化信息和上下文的DataSet类的新实例。 |
| 4 | DataSet(SerializationInfo, StreamingContext, Boolean) |
它用于初始化DataSet类的新实例。 |
DataSet类的属性
| 编号 | 属性 | 描述 |
|---|---|---|
| 1 | CaseSensitive |
它用于检查DataTable对象是否区分大小写。 |
| 2 | DataSetName |
它用于获取或设置当前DataSet的名称。 |
| 3 | DefaultViewManager |
它用于获取DataSet中包含的数据的自定义视图,以允许过滤和搜索。 |
| 4 | HasErrors |
它用于检查此DataSet中的任何DataTable对象中是否有错误。 |
| 5 | IsInitialized |
它用于检查DataSet是否被初始化。 |
| 6 | Locale |
它用于获取或设置用于比较表中字符串的语言环境信息。 |
| 7 | Namespace |
它用于获取或设置DataSet的名称空间。 |
| 8 | Site |
它用于获取或设置DataSet的ISite。 |
| 9 | Tables |
它用于获取DataSet中包含的表的集合。 |
DataSet类的方法
下表中列出了一些常用的DataSet类中的方法。
| 编号 | 方法 | 描述 |
|---|---|---|
| 1 | BeginInit() |
它用于在窗体上使用的DataSet的初始化。 |
| 2 | Clear() |
它用于通过删除所有表中的所有行来清除任何DataSet中的数据。 |
| 3 | Clone() |
它用于复制DataSet的结构。 |
| 4 | Copy() |
它用于复制此DataSet的结构和数据。 |
| 5 | CreateDataReader(DataTable[]) |
它将为每个DataTable返回一个带有一个结果集的DataTableReader。 |
| 6 | CreateDataReader() |
它将为每个DataTable返回一个带有一个结果集的DataTableReader。 |
| 7 | EndInit() |
它结束在窗体上使用的DataSet的初始化。 |
| 8 | GetXml() |
它返回存储在DataSet中的数据的XML表示形式。 |
| 9 | GetXmlSchema() |
它返回存储在DataSet中的数据的XML表示的XML Schema。 |
| 10 | Load(IDataReader, LoadOption, DataTable[]) |
它用于使用提供的IDataReader从数据源填充数据集。 |
| 11 | Merge(DataSet) |
它用于将指定的DataSet及其模式合并到当前的DataSet中。 |
| 12 | Merge(DataTable) |
它用于将指定的DataTable及其模式合并到当前的DataSet中。 |
| 13 | ReadXml(XmlReader, XmlReadMode) |
它用于使用指定的XmlReader和XmlReadMode将XML模式和数据读入DataSet。 |
| 14 | Reset() |
它用于清除所有表,并从DataSet中删除所有关系,外部约束和表。 |
| 15 | WriteXml(XmlWriter, XmlWriteMode) |
它用于使用指定的XmlWriter和XmlWriteMode编写DataSet的当前数据和可选的模式。 |
示例
在这个例子中,将演示如何使用DataSet并将数据显示到一个gridview中。 创建一个Web窗体并从工具箱中将GridView拖到窗体上。可以在数据类别 中找到GridView。
首先创建一个Web项目:AdoNetDataSet,打开Visual Studio创建一个ASP.NET空网站项目,如下所示 -

向这个项目中添加一个新建项,在项目名称上点击右键,在弹出的菜单中选择:添加新项,文件的名称为:Default.aspx,如下图所示 -

从工具箱中将GridView拖到窗体上,如下图所示 -

下面是Default.aspx的代码实现 -
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.html.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>AdoNet DataSet示例</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>
下面是Defatult.aspx.cs 代码的实现 -
using System;
using System.Data.SqlClient;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : 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_info", con);
DataSet ds = new DataSet();
sde.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
}
执行上面项目,点击菜单:调试 -> 开始执行(不调试) ,Visual Studio自动打开浏览器,看到结果如下所示 -

上一篇:
ADO.Net SqlDataReader类
下一篇:
ADO.Net DataAdapter类
