DataRowCollection.Find 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用指定的 PrimaryKey 值获取 DataRow。
重载
Find(Object[]) |
获取包含指定的主键值的行。 |
Find(Object) |
获取由主键值指定的行。 |
注解
性能应为 O (日志 n) 操作。
Find(Object[])
- Source:
- DataRowCollection.cs
- Source:
- DataRowCollection.cs
- Source:
- DataRowCollection.cs
获取包含指定的主键值的行。
public:
System::Data::DataRow ^ Find(cli::array <System::Object ^> ^ keys);
public System.Data.DataRow? Find (object?[] keys);
public System.Data.DataRow Find (object[] keys);
member this.Find : obj[] -> System.Data.DataRow
Public Function Find (keys As Object()) As DataRow
参数
- keys
- Object[]
要查找的主键值的数组。 数组的类型为 Object
。
返回
包含指定的主键值的 DataRow 对象;如果 DataRowCollection 中不存在主键值,则为 Null 值。
例外
任何行都不与该索引值相对应。
该表没有主键。
示例
以下示例使用数组的值查找 对象集合 DataRow 中的特定行。 方法假定 存在具有三个 DataTable 主键列的 。 创建值的数组后,代码将 方法与 数组一 Find 起使用来获取所需的特定对象。
private void FindInMultiPKey(DataTable table)
{
// Create an array for the key values to find.
object[]findTheseVals = new object[3];
// Set the values of the keys to find.
findTheseVals[0] = "John";
findTheseVals[1] = "Smith";
findTheseVals[2] = "5 Main St.";
DataRow foundRow = table.Rows.Find(findTheseVals);
// Display column 1 of the found row.
if(foundRow != null)
Console.WriteLine(foundRow[1]);
}
Private Sub FindInMultiPKey(ByVal table As DataTable)
' Create an array for the key values to find.
Dim findTheseVals(2) As Object
' Set the values of the keys to find.
findTheseVals(0) = "John"
findTheseVals(1) = "Smith"
findTheseVals(2) = "5 Main St."
Dim foundRow As DataRow = table.Rows.Find(findTheseVals)
' Display column 1 of the found row.
If Not (foundRow Is Nothing) Then
Console.WriteLine(foundRow(1).ToString())
End If
End Sub
注解
若要使用 Find 方法, DataTable 该对象所属的对象 DataRowCollection 必须至少具有一个指定为主键列的列。 当两行或更多行具有相同的主键值时,将返回找到的第一行。 当 设置为 false 时 EnforceConstraints ,会发生此情况。 PrimaryKey有关在表具有多个主键时如何创建PrimaryKey列或对象数组DataColumn的详细信息,请参阅 属性。
另请参阅
适用于
Find(Object)
- Source:
- DataRowCollection.cs
- Source:
- DataRowCollection.cs
- Source:
- DataRowCollection.cs
获取由主键值指定的行。
public:
System::Data::DataRow ^ Find(System::Object ^ key);
public System.Data.DataRow? Find (object? key);
public System.Data.DataRow Find (object key);
member this.Find : obj -> System.Data.DataRow
Public Function Find (key As Object) As DataRow
参数
返回
包含指定的主键值的 DataRow;否则为空值(如果 DataRowCollection 中不存在主键值)。
例外
该表没有主键。
示例
以下示例使用 Find 方法查找 对象集合 DataRow 中的主键值“2”。 方法返回特定 DataRow 对象,以便根据需要更改其值。
private void FindInPrimaryKeyColumn(DataTable table,
long pkValue)
{
// Find the number pkValue in the primary key
// column of the table.
DataRow foundRow = table.Rows.Find(pkValue);
// Print the value of column 1 of the found row.
if(foundRow != null)
Console.WriteLine(foundRow[1]);
}
Private Sub FindInPrimaryKeyColumn(ByVal table As DataTable, _
ByVal pkValue As Long)
' Find the number pkValue in the primary key
' column of the table.
Dim foundRow As DataRow = table.Rows.Find(pkValue)
' Print the value of column 1 of the found row.
If Not (foundRow Is Nothing) Then
Console.WriteLine(foundRow(1).ToString())
End If
End Sub
注解
若要使用 Find
方法, DataTable 该对象所属的对象 DataRowCollection 必须至少具有一个指定为主键列的列。 有关如何创建主键列的详细信息, PrimaryKey 请参阅 属性。