本文概述
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() | 它用于初始化不带参数的DataTable类的新实例。 |
DataTable(String) | 它用于使用指定的表名初始化DataTable类的新实例。 |
DataTable(SerializationInfo, StreamingContext) | 它用于通过SerializationInfo和StreamingContext初始化DataTable类的新实例。 |
DataTable(String, String) | 它用于使用指定的表名称和名称空间来初始化DataTable类的新实例。 |
数据表属性
下表包含DataTable类的属性。
属性 | 描述 |
---|---|
Columns | 它用于获取属于该表的列的集合。 |
Constraints | 它用于获取此表维护的约束的集合。 |
DataSet | 它用于获取此表所属的数据集。 |
DefaultView | 它用于获取可能包含过滤视图的表的自定义视图。 |
HasErrors | 它用于获取一个值, 该值指示DataSet表中的任何行中是否存在错误。 |
MinimumCapacity | 它用于获取或设置此表的初始起始大小。 |
PrimaryKey | 它用于获取或设置用作数据表主键的列数组。 |
Rows | 它用于获取属于该表的行的集合。 |
TableName | 它用于获取或设置数据表的名称。 |
数据表方法
下表包含DataTable类方法。
方法 | 描述 |
---|---|
AcceptChanges() | 它用于提交对该表所做的所有更改。 |
Clear() | 它用于清除所有数据的数据表。 |
Clone() | 它用于克隆DataTable的结构。 |
Copy() | 它用于复制DataTable的结构和数据。 |
CreateDataReader() | 它用于返回与此DataTable中的数据相对应的DataTableReader。 |
CreateInstance() | 它用于创建DataTable的新实例。 |
GetRowType() | 用于获取行类型。 |
GetSchema() | 它用于获取表的架构。 |
ImportRow(DataRow) | 它用于将DataRow复制到DataTable中。 |
Load(IDataReader) | 它用于使用提供的IDataReader用来自数据源的值填充DataTable。 |
Merge(DataTable, Boolean) | 它用于将指定的DataTable与当前DataTable合并。 |
NewRow() | 它用于创建具有与表相同模式的新DataRow。 |
Select() | 它用于获取所有DataRow对象的数组。 |
WriteXml(String) | 它用于使用指定的文件以XML形式写入DataTable的当前内容。 |
数据表示例
在下面的示例中,我们在这里创建一个数据表,该数据表将数据填充到浏览器。本示例包含以下文件。
// DataTableForm.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataTableForm.aspx.cs"
Inherits="DataTableDemo.DataTableForm" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</form>
</body>
</html>
代码背后
// DataTableForm.aspx.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;
namespace DataTableDemo
{
public partial class DataTableForm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add("ID");
table.Columns.Add("Name");
table.Columns.Add("Email");
table.Rows.Add("101", "Rameez", "rameez@example.com");
table.Rows.Add("102", "Sam Nicolus", "sam@example.com");
table.Rows.Add("103", "Subramanium", "subramanium@example.com");
table.Rows.Add("104", "Ankur Kumar", "ankur@example.com");
GridView1.DataSource = table;
GridView1.DataBind();
}
}
}
输出:
C
using System;
namespace AccessSpecifiers
{
class PublicTest
{
public string name = "Santosh Singh";
public void Msg(string msg)
{
Console.WriteLine("Hello "+ msg);
}
}
class Program
{
static void Main(string[] args)
{
PublicTest publicTest = new PublicTest();
// Accessing public variable
Console.WriteLine("Hello "+publicTest.name);
// Accessing public method
publicTest.Msg("Peter Dicosta");
}
}
}
输出:
Hello Santosh Singh
Hello Peter Dicosta
评论前必须登录!
注册