DataRowCollection.Find Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.