Sdílet prostřednictvím


DataRowCollection.Find Metoda

Definice

DataRow Získá pomocí zadané PrimaryKey hodnoty.

Přetížení

Find(Object[])

Získá řádek, který obsahuje zadané hodnoty primárního klíče.

Find(Object)

Získá řádek určený hodnotou primárního klíče.

Poznámky

Výkon by měl být operace O(log n).

Find(Object[])

Zdroj:
DataRowCollection.cs
Zdroj:
DataRowCollection.cs
Zdroj:
DataRowCollection.cs

Získá řádek, který obsahuje zadané hodnoty primárního klíče.

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

Parametry

keys
Object[]

Pole hodnot primárního klíče, které se mají najít. Typ pole je Object.

Návraty

Objekt DataRow , který obsahuje zadané hodnoty primárního klíče; jinak hodnota null, pokud hodnota primárního klíče v objektu DataRowCollectionneexistuje.

Výjimky

Této hodnotě indexu neodpovídá žádný řádek.

Tabulka nemá primární klíč.

Příklady

Následující příklad používá hodnoty pole k vyhledání konkrétního řádku v kolekci DataRow objektů. Metoda předpokládá, že existuje se DataTable třemi sloupci primárního klíče. Po vytvoření pole hodnot kód použije metodu Find s polem k získání konkrétního požadovaného objektu.

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

Poznámky

Pokud chcete použít metodu Find , objekt, DataTable ke kterému DataRowCollection objekt patří, musí mít alespoň jeden sloupec označený jako sloupec primárního klíče. Pokud mají dva nebo více řádků stejnou hodnotu primárního klíče, vrátí se první nalezený řádek. K tomu dochází v případě, že EnforceConstraints je nastavená hodnota false. PrimaryKey Další informace o tom, jak vytvořit PrimaryKey sloupec nebo pole DataColumn objektů, pokud má tabulka více než jeden primární klíč, najdete v tématu vlastnost .

Viz také

Platí pro

Find(Object)

Zdroj:
DataRowCollection.cs
Zdroj:
DataRowCollection.cs
Zdroj:
DataRowCollection.cs

Získá řádek určený hodnotou primárního klíče.

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

Parametry

key
Object

Hodnota primárního klíče, která DataRow se má najít.

Návraty

Hodnota DataRow obsahující zadanou hodnotu primárního klíče; v opačném případě hodnota null, pokud hodnota primárního klíče v objektu DataRowCollectionneexistuje.

Výjimky

Tabulka nemá primární klíč.

Příklady

Následující příklad používá metodu Find k vyhledání hodnoty primárního klíče "2" v kolekci DataRow objektů. Metoda vrátí konkrétní DataRow objekt, který vám umožní podle potřeby změnit jeho hodnoty.

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

Poznámky

Pokud chcete použít metodu Find , objekt, DataTable ke kterému DataRowCollection objekt patří, musí mít alespoň jeden sloupec označený jako sloupec primárního klíče. Další informace o tom, jak vytvořit sloupec primárního klíče, najdete ve PrimaryKey vlastnosti .

Viz také

Platí pro