DataRowCollection.Find Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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 .