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) |
它用于使用SerializationInfo 和StreamingContext 初始化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表单实例