DataRowCollection.Find Metod

Definition

Hämtar en DataRow med det angivna PrimaryKey värdet.

Överlagringar

Name Description
Find(Object[])

Hämtar raden som innehåller de angivna primärnyckelvärdena.

Find(Object)

Hämtar raden som anges av primärnyckelvärdet.

Kommentarer

Prestanda bör vara en O(log n)-åtgärd.

Find(Object[])

Hämtar raden som innehåller de angivna primärnyckelvärdena.

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

Parametrar

keys
Object[]

En matris med primära nyckelvärden att hitta. Matristypen är Object.

Returer

Ett DataRow objekt som innehåller de angivna primärnyckelvärdena, annars ett null-värde om det primära nyckelvärdet inte finns i DataRowCollection.

Undantag

Ingen rad motsvarar indexvärdet.

Tabellen har ingen primärnyckel.

Exempel

I följande exempel används värdena för en matris för att hitta en specifik rad i en samling DataRow objekt. Metoden förutsätter att en DataTable finns med tre primärnyckelkolumner. När du har skapat en matris med värdena använder Find koden metoden med matrisen för att hämta det specifika objekt som du vill använda.

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

Kommentarer

Om du vill använda Find metoden måste objektet DataTable som DataRowCollection objektet tillhör ha minst en kolumn som har angetts som en primärnyckelkolumn. När två eller flera rader har samma primärnyckelvärde returneras den första raden som hittas. Detta inträffar när EnforceConstraints värdet är falskt. Se egenskapen PrimaryKey för mer information om hur du skapar en PrimaryKey kolumn eller en matris med DataColumn objekt när tabellen har mer än en primärnyckel.

Se även

Gäller för

Find(Object)

Hämtar raden som anges av primärnyckelvärdet.

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

Parametrar

key
Object

Det primära nyckelvärdet för att DataRow hitta.

Returer

En DataRow som innehåller det angivna primärnyckelvärdet, annars ett null-värde om primärnyckelvärdet inte finns i DataRowCollection.

Undantag

Tabellen har ingen primärnyckel.

Exempel

I följande exempel används Find metoden för att hitta primärnyckelvärdet "2" i en samling DataRow objekt. Metoden returnerar det specifika DataRow objektet så att du kan ändra dess värden efter behov.

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

Kommentarer

Om du vill använda Find metoden måste objektet DataTable som DataRowCollection objektet tillhör ha minst en kolumn som har angetts som en primärnyckelkolumn. Mer information om hur du skapar en primärnyckelkolumn finns i PrimaryKey egenskapen.

Se även

Gäller för