DataRowCollection.Find Método

Definição

Obtém um DataRow usando o valor especificado PrimaryKey .

Sobrecargas

Name Description
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.

Observações

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

Find(Object[])

Origem:
DataRowCollection.cs
Origem:
DataRowCollection.cs
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[]

Um conjunto de valores-chave primárias para encontrar. O tipo do array é Object.

Devoluções

Um DataRow objeto que contém os valores primários da chave especificados; 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 seguinte utiliza os valores de um array para encontrar uma linha específica numa coleção de DataRow objetos. O método assume que a DataTable existe com três colunas principais principais. Depois de criar um array dos valores, o código usa o Find método com o array para obter o objeto específico que pretendes.

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

Observações

Para usar o Find método, o DataTable objeto ao qual DataRowCollection pertence deve ter pelo menos uma coluna designada como coluna principal principal. Quando duas ou mais linhas têm o mesmo valor da chave primária, a primeira linha encontrada é devolvida. Isto ocorre quando EnforceConstraints está definido como falso. Consulte a PrimaryKey propriedade para mais informações sobre como criar uma PrimaryKey coluna, ou um array de DataColumn objetos quando a tabela tem mais do que uma chave primária.

Ver também

Aplica-se a

Find(Object)

Origem:
DataRowCollection.cs
Origem:
DataRowCollection.cs
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-chave primário do DataRow a encontrar.

Devoluções

A DataRow que contém o valor da chave primária especificado; 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 seguinte utiliza o Find método para encontrar o valor primário da chave "2" numa coleção de DataRow objetos. O método devolve o objeto específico DataRow , permitindo-lhe alterar os 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

Observações

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

Ver também

Aplica-se a