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类
												
						
						
					
					
					