DataRowCollection.Find Metoda

Definice

DataRow Získá použití 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[])

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é chcete najít. Typ pole je Object.

Návraty

DataRow

Objekt DataRow , který obsahuje zadané hodnoty primárního klíče, jinak hodnota null v případě, že hodnota primárního DataRowCollectionklíče neexistuje v souboru .

Výjimky

Žádný řádek neodpovídá této hodnotě indexu.

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 DataTable existuje se třemi sloupci primárního klíče. Po vytvoření pole hodnot kód použije Find metodu s polem k získání 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

Chcete-li použít metoduFind, objekt, do kterého DataRowCollection objekt patří, DataTable musí mít alespoň jeden sloupec urč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í, když EnforceConstraints je nastavena na hodnotu false. Další informace o tom, jak vytvořit PrimaryKey sloupec nebo pole DataColumn objektů, pokud tabulka obsahuje více než jeden primární klíč, najdete v PrimaryKey této vlastnosti.

Viz také

Platí pro

Find(Object)

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, kterou DataRow chcete najít.

Návraty

DataRow

A DataRow , který obsahuje zadanou hodnotu primárního klíče, jinak hodnota null, pokud hodnota primárního klíče neexistuje v souboru DataRowCollection.

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

Chcete-li použít metoduFind, objekt, do kterého DataRowCollection objekt patří, DataTable musí mít alespoň jeden sloupec určený jako sloupec primárního klíče. Další informace o tom, jak vytvořit sloupec primárního klíče, najdete v PrimaryKey vlastnosti.

Viz také

Platí pro