DataRowCollection.Find 方法

定义

使用指定的 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

参数

key
Object

要查找的 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 请参阅 属性。

另请参阅

适用于