ADO.Net DataTable类

DataTable类将关系数据表示为表格形式。ADO.NET提供了一个DataTable类来独立创建和使用数据表。它也可以和DataSet一起使用。 最初,当创建DataTable时,它没有表模式。我们可以通过向表中添加列和约束来创建表模式。在定义表模式之后,可以向表中添加行。

在创建DataTable之前,必须包含System.Data名称空间。

DataTable的签名

public class DataTable : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource,  
System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable,  
System.Xml.Serialization.IXmlSerializable

DataTable构造函数

下表列出了DataTable类的构造函数。

编号 构造函数 描述
1 DataTable() 它用于初始化没有参数的DataTable类的新实例。
2 DataTable(String) 它用于使用指定的表名初始化DataTable类的新实例。
3 DataTable(SerializationInfo, StreamingContext) 它用于使用SerializationInfoStreamingContext初始化DataTable类的新实例。
4 DataTable(String, String) 它用于使用指定的表名和名称空间初始化DataTable类的新实例。

DataTable属性

下表列出了DataTable类的属性。

编号 属性 描述
1 Columns 它用于获取属于此表的列的集合。
2 Constraints 它被用来获取由这个表维护的约束的集合。
3 DataSet 它用于获取此表所属的DataSet
4 DefaultView 它用于获取可能包含过滤视图的表的自定义视图。
5 HasErrors 它用于获取指示DataSet表中的任何行中是否存在错误的值。
6 MinimumCapacity 它用于获取或设置此表的初始起始大小。
7 PrimaryKey 它用于获取或设置一个用作数据表主键的列数组。
8 Rows 它用于获取属于此表的行的集合。
9 TableName 它用于获取或设置DataTable的名称。

DataTable方法

下表列出了DataTable类的方法。

编号 属性 描述
1 AcceptChanges() 它用于提交对此表进行的所有更改。
2 Clear() 它用来清除所有数据的DataTable
3 Clone() 它被用来克隆DataTable的结构。
4 Copy() 它用于复制DataTable的结构和数据。
5 CreateDataReader() 它用于返回与此DataTable中的数据相对应的DataTableReader
6 CreateInstance() 它用于创建DataTable的新实例。
7 GetRowType() 它用于获取行类型。
8 GetSchema() 它用来获取表的模式。
9 ImportRow(DataRow) 它用于将DataRow复制到DataTable中。
10 Load(IDataReader) 它用于使用提供的IDataReader从数据源填充DataTable
11 Merge(DataTable, Boolean) 它用于合并指定的DataTable和当前的DataTable
12 NewRow() 它用于创建一个与表具有相同模式的新DataRow
13 Select() 它用于获取所有DataRow对象的数组。
14 WriteXml(String) 用于使用指定的文件将DataTable的当前内容写为XML。

数据表示例

在下面的例子中,我们创建一个将数据填充到浏览器的数据表。首先创建一个Web项目:AdoNetDataTable,打开Visual Studio创建一个ASP.NET空网站项目,如下所示 -

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

本示例包含以下文件,Default.html -

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.html.cs" Inherits="_Default" %>
<!DOCTYPE html>  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title>DataTable示例</title>  
</head>  
<body>  
    <form id="form1" runat="server">  
        <div>  
        </div>  
        <asp:GridView ID="GridView1" runat="server">  
        </asp:GridView>  
    </form>  
</body>  
</html>

文件:Default.html.cs -

using System;
using System.Collections.Generic;
using System.Data;
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)
    {
        DataTable table = new DataTable();
        table.Columns.Add("编号");
        table.Columns.Add("姓名");
        table.Columns.Add("电子邮箱");
        table.Rows.Add("101", "Javaer", "javaer@xuhuhu.com");
        table.Rows.Add("102", "Sam James", "sam.php@xuhuhu.com");
        table.Rows.Add("103", "Subram Ruby", "ruby@xuhuhu.com");
        table.Rows.Add("104", "Ankur Python", "ankur.python@xuhuhu.com");
        GridView1.DataSource = table;
        GridView1.DataBind();
    }
}

执行上面项目,点击菜单:调试 -> 开始执行(不调试) ,Visual Studio自动打开浏览器,看到结果如下所示 -


上一篇: ADO.Net DataAdapter类 下一篇: ADO.Net Web表单实例