Поделиться через


DataRowCollection.Find Метод

Определение

Возвращает указанное DataRow значение с помощью указанного PrimaryKey значения.

Перегрузки

Имя Описание
Find(Object[])

Возвращает строку, содержащую указанные значения первичного ключа.

Find(Object)

Возвращает строку, указанную значением первичного ключа.

Комментарии

Производительность должна быть операцией O(log n).

Find(Object[])

Исходный код:
DataRowCollection.cs
Исходный код:
DataRowCollection.cs
Исходный код:
DataRowCollection.cs
Исходный код:
DataRowCollection.cs
Исходный код:
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 Объект, содержащий указанные значения первичного ключа; в противном случае значение NULL, если значение первичного ключа не существует в объектеDataRowCollection.

Исключения

Строка не соответствует значению индекса.

В таблице нет первичного ключа.

Примеры

В следующем примере используются значения массива для поиска определенной 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 метод, объект, к которому DataRowCollection принадлежит объект, должен иметь по крайней мере один столбец, DataTable назначенный в качестве столбца первичного ключа. Если две или несколько строк имеют одно и то же значение первичного ключа, возвращается первая строка. Это происходит, если EnforceConstraints задано значение false. Дополнительные сведения о создании PrimaryKey столбца или массиве объектов см. в PrimaryKey свойстве, если таблица содержит несколько первичных DataColumn ключей.

См. также раздел

Применяется к

Find(Object)

Исходный код:
DataRowCollection.cs
Исходный код:
DataRowCollection.cs
Исходный код:
DataRowCollection.cs
Исходный код:
DataRowCollection.cs
Исходный код:
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, содержащее указанное значение первичного ключа; в противном случае значение NULL, если значение первичного ключа не существует.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 метод, объект, к которому DataRowCollection принадлежит объект, должен иметь по крайней мере один столбец, DataTable назначенный в качестве столбца первичного ключа. Дополнительные сведения о создании столбца первичного ключа см. в PrimaryKey свойстве.

См. также раздел

Применяется к