DataRowCollection.Find Methode

Definitie

Hiermee haalt u een DataRow met de opgegeven PrimaryKey waarde op.

Overloads

Name Description
Find(Object[])

Hiermee haalt u de rij op die de opgegeven primaire-sleutelwaarden bevat.

Find(Object)

Hiermee haalt u de rij op die is opgegeven door de primaire-sleutelwaarde.

Opmerkingen

Prestaties moeten een O(log n)-bewerking zijn.

Find(Object[])

Hiermee haalt u de rij op die de opgegeven primaire-sleutelwaarden bevat.

public:
 System::Data::DataRow ^ Find(cli::array <System::Object ^> ^ keys);
public System.Data.DataRow Find(object[] keys);
member this.Find : obj[] -> System.Data.DataRow
Public Function Find (keys As Object()) As DataRow

Parameters

keys
Object[]

Een matrix met primaire-sleutelwaarden die moeten worden gevonden. Het type van de matrix is Object.

Retouren

Een DataRow object dat de primaire-sleutelwaarden bevat die zijn opgegeven; anders een null-waarde als de primaire-sleutelwaarde niet bestaat in de DataRowCollection.

Uitzonderingen

Er komt geen rij overeen met die indexwaarde.

De tabel heeft geen primaire sleutel.

Voorbeelden

In het volgende voorbeeld worden de waarden van een matrix gebruikt om een specifieke rij in een verzameling DataRow objecten te vinden. Bij de methode wordt ervan uitgegaan dat een DataTable bestaat met drie primaire-sleutelkolommen. Nadat u een matrix van de waarden hebt gemaakt, gebruikt de code de Find methode met de matrix om het gewenste object op te halen.

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

Opmerkingen

Als u de Find methode wilt gebruiken, moet het DataTable object waartoe het DataRowCollection object behoort ten minste één kolom hebben die is aangewezen als een primaire-sleutelkolom. Wanneer twee of meer rijen dezelfde primaire-sleutelwaarde hebben, wordt de eerste rij geretourneerd. Dit gebeurt wanneer EnforceConstraints deze is ingesteld op false. Zie de PrimaryKey eigenschap voor meer informatie over het maken van een PrimaryKey kolom of een matrix met DataColumn objecten wanneer de tabel meer dan één primaire sleutel heeft.

Zie ook

Van toepassing op

Find(Object)

Hiermee haalt u de rij op die is opgegeven door de primaire-sleutelwaarde.

public:
 System::Data::DataRow ^ Find(System::Object ^ key);
public System.Data.DataRow Find(object key);
member this.Find : obj -> System.Data.DataRow
Public Function Find (key As Object) As DataRow

Parameters

key
Object

De primaire sleutelwaarde van de DataRow te vinden sleutel.

Retouren

Een DataRow die de primaire-sleutelwaarde bevat die is opgegeven; anders een null-waarde als de primaire-sleutelwaarde niet bestaat in de DataRowCollection.

Uitzonderingen

De tabel heeft geen primaire sleutel.

Voorbeelden

In het volgende voorbeeld wordt de Find methode gebruikt om de primaire-sleutelwaarde '2' te vinden in een verzameling DataRow objecten. De methode retourneert het specifieke DataRow object, zodat u de waarden kunt wijzigen, indien nodig.

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

Opmerkingen

Als u de Find methode wilt gebruiken, moet het DataTable object waartoe het DataRowCollection object behoort ten minste één kolom hebben die is aangewezen als een primaire-sleutelkolom. Zie de PrimaryKey eigenschap voor meer informatie over het maken van een primaire-sleutelkolom.

Zie ook

Van toepassing op