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自動打開瀏覽器,看到結果如下所示 -