ADO.Net DataSet类
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自动打开浏览器,看到结果如下所示 -
扫描二维码
程序员编程王