.Net 中DataTable和 DataRow的 区别与联系

时间:2023-03-09 18:29:19
.Net 中DataTable和 DataRow的 区别与联系

1、简要说明二者关系

DataRow 和 DataColumn 对象是 DataTable 的主要组件。使用 DataRow 对象及其属性和方法检索、评估、插入、删除和更新 DataTable 中的值。DataRowCollection 表示 DataTable 中的实际 DataRow 对象,DataColumnCollection 中包含用于描述DataTable 的架构的 DataColumn 对象。使用重载的 Item 属性返回或设置 DataColumn 的值。

使用 HasVersion 和 IsNull 属性确定特定行值的状态,使用 RowState 属性确定行相对于它的父级 DataTable 的状态。

若要创建新的 DataRow,请使用 DataTable 对象的 NewRow 方法。创建新的 DataRow 之后,请使用 Add 方法将新的DataRow 添加到 DataRowCollection 中。最后,调用 DataTable 对象的 AcceptChanges 方法以确认是否已添加。

您可通过调用 DataRowCollection 的 Remove 方法或调用 DataRow 对象的 Delete 方法,从 DataRowCollection 中删除DataRow。Remove 方法将行从集合中移除。与此相反,Delete 标记要移除的 DataRow。在调用 AcceptChanges 方法时发生实际移除。通过调用 Delete,您可在实际删除行之前以编程方式检查哪些行被标记为移除。

2、下面的一个小例子,用代码说明二者之间的关系

DataTable dt = new DataTable();
dt.Columns.Add("num");
dt.Columns.Add("name");
DataRow dr = dt.NewRow();
dr["num"] = "1";
dr["name"] = "张三";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["num"] = "2";
dr["name"] = "李四";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["num"] = "3";
dr["name"] = "王五";
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();

以上是对.Net 中DataTable和 DataRow的 区别与联系的总结,如有不足之处,还请批评指教。