DataTable 是 ADO.NET 库中的核心对象,就像普通的数据库中的表一样,它也有行和列。它主要包括DataRow和DataColumn,分别代表行和列。
(1) 数据行(DataRow)
数据行是给定数据表中的一行数据,或者说是数据表中的一条记录。它可能代表一个学生、一位用户、一张订单或者一件货物的相关数据。DataRow对象的方法提供了对表中数据的插入、删除、更新和查看等功能。提取数据表中的行的语句如下:
DataRow dr = dt.Rows[n];
其中:DataRow代表数据行类;dr是数据行对象;dt代表数据表对象; n代表行的序号(序号从0开始)。
(2) 数据列(DataColumn)
数据表中的数据列(又称字段)定义了表的数据结构,例如,可以用它确定列中的数据类型和大小,还可以对其他属性进行设置。例如,确定列中的数据是否是只读的、是否是主键、是否允许空值等;还可以让列在一个初始值的基础上自动增殖,增值的步长还可以自行定义。
某列的值需要在数据行的基础上进行。语句如下:
01.string dc = dr.Columns["字段名"].ToString();
或者
01.string dc = dr.Column[i].ToString();//i表示对应的列索引
综合前面的语句,若想取出数据表(dt)中第3条记录中的“姓名”字段,并将该字段的值放入一输入框(textBox1)中时,语句可以写成:
01.DataRow dRow = dt.Rows[2 ]; // 从数据表提取行
02.string textBox1.Text=dRow["CompanyName"].ToString(); // 从行中取出字段的值
下面是一个利用代码在内存中创建表并显示的例子(仍然是采用了单页模式):
01.<%@ Page Language="C#" %>
02.<%@ Import Namespace="System.Data" %>
03.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "" >
60.<head runat="server">
61. <title>自己创建DataTable的例子</title>
62.</head>
63.<body>
64. <form id="form1" runat="server">
65. <div>
66. <table border="1" width="400">
67. <tr><td>编号</td><td>用户名</td><td>生日</td></tr>
68. <% ShowData(); %>
69. </table>
70. </div>
71. </form>
72.</body>
73.</html>
上面代码我已经做了详尽的注释,它的运行效果如下: