Partilhar via


DataRowCollection.Find Método

Definição

Obtém DataRow usando o valor PrimaryKey especificado.

Sobrecargas

Find(Object[])

Obtém a linha que contém os valores de chave primária especificados.

Find(Object)

Obtém a linha especificada pelo valor da chave primária.

Comentários

O desempenho deve ser uma operação O(log n).

Find(Object[])

Origem:
DataRowCollection.cs
Origem:
DataRowCollection.cs
Origem:
DataRowCollection.cs

Obtém a linha que contém os valores de chave primária especificados.

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

Parâmetros

keys
Object[]

Uma matriz de valores de chave primária a serem localizados. O tipo da matriz é Object.

Retornos

Um objeto DataRow que contém o valor de chave primária especificada; caso contrário, um valor nulo, se o valor da chave primária não existir no DataRowCollection.

Exceções

Nenhuma linha corresponde a esse valor de índice.

A tabela não tem uma chave primária.

Exemplos

O exemplo a seguir usa os valores de uma matriz para localizar uma linha específica em uma coleção de DataRow objetos. O método pressupõe que exista um DataTable com três colunas de chave primária. Depois de criar uma matriz dos valores, o código usa o Find método com a matriz para obter o objeto específico desejado.

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

Comentários

Para usar o Find método , o DataTable objeto ao qual o DataRowCollection objeto pertence deve ter pelo menos uma coluna designada como uma coluna de chave primária. Quando duas ou mais linhas têm o mesmo valor de chave primária, a primeira linha encontrada é retornada. Isso ocorre quando é definido como EnforceConstraints false. Consulte a PrimaryKey propriedade para obter mais informações sobre como criar uma PrimaryKey coluna ou uma matriz de DataColumn objetos quando a tabela tiver mais de uma chave primária.

Confira também

Aplica-se a

Find(Object)

Origem:
DataRowCollection.cs
Origem:
DataRowCollection.cs
Origem:
DataRowCollection.cs

Obtém a linha especificada pelo valor da chave primária.

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

Parâmetros

key
Object

O valor da chave primária do DataRow a ser encontrado.

Retornos

Um DataRow que contém o valor de chave primária especificada; caso contrário, um valor nulo, se o valor da chave primária não existir no DataRowCollection.

Exceções

A tabela não tem uma chave primária.

Exemplos

O exemplo a seguir usa o Find método para localizar o valor da chave primária "2" em uma coleção de DataRow objetos. O método retorna o objeto específico DataRow , permitindo que você altere seus valores, conforme necessário.

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

Comentários

Para usar o Find método , o DataTable objeto ao qual o DataRowCollection objeto pertence deve ter pelo menos uma coluna designada como uma coluna de chave primária. Consulte a PrimaryKey propriedade para obter mais informações sobre como criar uma coluna de chave primária.

Confira também

Aplica-se a