Partilhar via


Como: Locate a Specific Row in a DataTable

A maioria dos aplicativos que consomem dados precisa acessar registros específicos que satisfaçam algum tipo de critério. Para localizar uma linha específica em um DataSet, você pode chamar o método Find do objeto DataRowCollection. Se existir a chave primária, em seguida, um objeto DataRow será retornado. Se não puder ser encontrada a chave primária, será retornado um valor nulo.

Localizando uma Linha com um Valor de Chave Primária

Para localizar uma linha em um dataset digitado com um valor de chave primária

  • Chame o método fortemente tipado FindBy que usa a chave primária da tabela para localizar uma linha.

    No exemplo a seguir, a CustomerID coluna é a chave primária da tabela Customers, portanto é FindByCustomerID o método gerado FindBy. O exemplo mostra como atribuir um determinado DataRow a uma variável usando o método FindBy gerado.

    Dim customersRow As NorthwindDataSet.CustomersRow
    customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")
    
    NorthwindDataSet.CustomersRow customersRow = 
        northwindDataSet1.Customers.FindByCustomerID("ALFKI");
    

Para localizar uma linha em um dataset não digitado com um valor de chave primária

  • Chame o método Find de uma coleção DataRowCollection, passando a chave primária como um parâmetro.

    O exemplo a seguir mostra como declarar uma nova linha chamada foundRow e atribuir a ela o valor de retorno do método Find. Se a chave primária for encontrado, o conteúdo do índice da coluna 1 é exibido em uma caixa de mensagem.

    Dim s As String = "primaryKeyValue"
    Dim foundRow As DataRow = DataSet1.Tables("AnyTable").Rows.Find(s)
    
    If foundRow IsNot Nothing Then
        MsgBox(foundRow(1).ToString())
    Else
        MsgBox("A row with the primary key of " & s & " could not be found")
    End If
    
    string s = "primaryKeyValue";
    DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s);
    
    if (foundRow != null) 
    {
        MessageBox.Show(foundRow[1].ToString());
    }
    else
    {
        MessageBox.Show("A row with the primary key of " + s + " could not be found");
    }
    

Localizando Linhas por Valores de Coluna

Para localizar linhas com base nos valores em qualquer coluna

  • As tabelas de dados são criadas com um método Select que retorna uma matriz de DataRow s com base na expressão passada para o método Select. Para obter mais informações sobre como criar expressões válidas, consulte a seção " Sintaxe de expressões " da página sobre a propriedade Expression.

    O exemplo a seguir mostra como usar o método Select de DataTable para localizar linhas específicas.

    Dim foundRows() As Data.DataRow
    foundRows = DataSet1.Tables("Customers").Select("CompanyName Like 'A%'")
    
    DataRow[] foundRows;
    foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");
    

Consulte também

Referência

Find

Select

Conceitos

Controles de vinculação de dados de Visual Studio

Outros recursos

Editar dados no seu aplicativo

Conectando-se a Dados no Visual Studio

Preparando seu aplicativo para receber dados

Buscando dados em seu aplicativo

Editar dados no seu aplicativo

Validando Dados

Salvando dados