DataRow类:
表示行中的数据 DataTable。
命名空间:
System.Data
程序集: System.Data(位于 System.Data.dll)
System.Object
System.Data.DataRow
语法:
public class DataRow
名称 | 说明 | |
---|---|---|
DataRow(DataRowBuilder) | 此 API 支持 产品 基础结构,不应从代码直接使用。 初始化 DataRow 的新实例。 从生成器中构造行。 仅限内部使用。 |
名称 | 说明 | |
---|---|---|
HasErrors | 获取一个值,该值指示行是否存在错误。 | |
Item[DataColumn] | 获取或设置存储在指定的数据 DataColumn。 | |
Item[DataColumn,DataRowVersion] | 获取存储在指定的数据的指定的版本 DataColumn。 | |
Item[Int32] | 获取或设置指定索引的列中存储的数据。 | |
Item[Int32,DataRowVersion] | 获取指定索引和版本要检索的数据的列中存储的数据。 | |
Item[String] | 获取或设置指定名称的列中存储的数据。 | |
Item[String,DataRowVersion] | 获取指定列中存储的数据的指定的版本。 | |
ItemArray | 获取或设置通过数组此行的所有值。 | |
RowError | 获取或设置某一行的自定义错误说明。 | |
RowState | 获取有关及其与关系行的当前状态 DataRowCollection。 | |
Table | 获取 DataTable 为其该行有一个架构。 |
名称 | 说明 | |
---|---|---|
Field<T>(DataColumn) | 已重载。提供了每个指定行中的列的值的强类型化访问。 Field<T> 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。) | |
Field<T>(DataColumn,DataRowVersion) | 已重载。提供了每个指定行中的列的值的强类型化访问。 Field<T> 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。) | |
Field<T>(Int32) | 已重载。提供了每个指定行中的列的值的强类型化访问。 Field<T> 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。) | |
Field<T>(Int32,DataRowVersion) | 已重载。提供了每个指定行中的列的值的强类型化访问。 Field<T> 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。) | |
Field<T>(String) | 已重载。提供了每个指定行中的列的值的强类型化访问。 Field<T> 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。) | |
Field<T>(String,DataRowVersion) | 已重载。提供了每个指定行中的列的值的强类型化访问。 Field<T> 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。) | |
SetField<T>(DataColumn,T) | 已重载。设置指定列中的新值 DataRow。 SetField<T> 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。) | |
SetField<T>(Int32,T) | 已重载。设置指定列中的新值 DataRow 上调用该方法。 SetField<T> 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。) | |
SetField<T>(String,T) | 已重载。设置指定列中的新值 DataRow。 SetField<T> 方法还支持可以为 null 的类型。(由 DataRowExtensions 定义。) |
DataRow 和 DataColumn 对象是主要组件 DataTable。 使用 DataRow 对象及其属性和方法用于检索和评估; 以及插入、 删除和更新中的值 DataTable。 DataRowCollection 表示实际 DataRow 中的对象 DataTable, ,和 DataColumnCollection 包含 DataColumn 这些对象描述的架构 DataTable。 使用重载 Item 属性以返回或设置的值 DataColumn。
使用 HasVersion 和 IsNull 属性来确定特定行值的状态和 RowState 属性来确定相对于其父行的状态 DataTable。
若要创建一个新 DataRow, ,使用 NewRow 方法 DataTable 对象。 在创建一个新 DataRow, ,使用 Add 方法以添加新 DataRow 到 DataRowCollection。 最后,调用 AcceptChanges 方法 DataTable 以确认添加的对象。 有关将数据添加到 DataTable, ,请参阅 向数据表中添加数据。
您可以删除 DataRow 从 DataRowCollection 通过调用 Remove 方法 DataRowCollection, ,或通过调用 Delete 方法 DataRow 对象。 Remove 方法从集合中删除行。 与此相反, Delete 标记 DataRow 进行删除。 在调用时才会发生实际删除 AcceptChanges 方法。 通过调用 Delete, ,您可以通过编程方式检查哪些行标记为删除之前实际删除它们。 有关详细信息,请参阅DataRow 删除。
下面的示例创建一个新 DataRow 通过调用 NewRow 方法 DataTable 对象。
private void CreateNewDataRow() { // Use the MakeTable function below to create a new table. DataTable table; table = MakeNamesTable(); // Once a table has been created, use the // NewRow to create a DataRow. DataRow row; row = table.NewRow(); // Then add the new row to the collection. row["fName"] = "John"; row["lName"] = "Smith"; table.Rows.Add(row); foreach(DataColumn column in table.Columns) Console.WriteLine(column.ColumnName); dataGrid1.DataSource=table; } private DataTable MakeNamesTable() { // Create a new DataTable titled 'Names.' DataTable namesTable = new DataTable("Names"); // Add three column objects to the table. DataColumn idColumn = new DataColumn(); idColumn.DataType = System.Type.GetType("System.Int32"); idColumn.ColumnName = "id"; idColumn.AutoIncrement = true; namesTable.Columns.Add(idColumn); DataColumn fNameColumn = new DataColumn(); fNameColumn.DataType = System.Type.GetType("System.String"); fNameColumn.ColumnName = "Fname"; fNameColumn.DefaultValue = "Fname"; namesTable.Columns.Add(fNameColumn); DataColumn lNameColumn = new DataColumn(); lNameColumn.DataType = System.Type.GetType("System.String"); lNameColumn.ColumnName = "LName"; namesTable.Columns.Add(lNameColumn); // Create an array for DataColumn objects. DataColumn [] keys = new DataColumn [1]; keys[0] = idColumn; namesTable.PrimaryKey = keys; // Return the new DataTable. return namesTable; }
此类型是安全的多线程读取操作。 您必须同步任何写操作。
备注:转自https://msdn.microsoft.com/zh-cn/library/system.data.datarow(v=vs.110).aspx