DataRowCollection.Find Metoda

Definicja

Pobiera metodę DataRow przy użyciu określonej PrimaryKey wartości.

Przeciążenia

Find(Object[])

Pobiera wiersz zawierający określone wartości klucza podstawowego.

Find(Object)

Pobiera wiersz określony przez wartość klucza podstawowego.

Uwagi

Wydajność powinna być operacją O(log n).

Find(Object[])

Źródło:
DataRowCollection.cs
Źródło:
DataRowCollection.cs
Źródło:
DataRowCollection.cs

Pobiera wiersz zawierający określone wartości klucza podstawowego.

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[]

Tablica wartości klucza podstawowego do znalezienia. Typ tablicy to Object.

Zwraca

Obiekt DataRow zawierający określone wartości klucza podstawowego; w przeciwnym razie wartość null, jeśli wartość klucza podstawowego nie istnieje w obiekcie DataRowCollection.

Wyjątki

Żaden wiersz nie odpowiada tej wartości indeksu.

Tabela nie ma klucza podstawowego.

Przykłady

W poniższym przykładzie użyto wartości tablicy do znalezienia określonego wiersza w kolekcji DataRow obiektów. Metoda zakłada, że istnieje z trzema DataTable kolumnami klucza podstawowego. Po utworzeniu tablicy wartości kod używa Find metody z tablicą w celu pobrania żądanego obiektu.

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

Uwagi

Aby użyć Find metody , obiekt, do którego DataRowCollection należy obiekt, DataTable musi mieć co najmniej jedną kolumnę wyznaczoną jako kolumnę klucza podstawowego. Gdy co najmniej dwa wiersze mają tę samą wartość klucza podstawowego, zwracany jest pierwszy znaleziony wiersz. Dzieje się tak, gdy EnforceConstraints jest ustawiona wartość false. Zobacz właściwość , PrimaryKey aby uzyskać więcej informacji na temat tworzenia PrimaryKey kolumny lub tablicy DataColumn obiektów, gdy tabela ma więcej niż jeden klucz podstawowy.

Zobacz też

Dotyczy

Find(Object)

Źródło:
DataRowCollection.cs
Źródło:
DataRowCollection.cs
Źródło:
DataRowCollection.cs

Pobiera wiersz określony przez wartość klucza podstawowego.

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

Wartość klucza podstawowego elementu do znalezienia DataRow .

Zwraca

Element DataRow zawierający określoną wartość klucza podstawowego; w przeciwnym razie wartość null, jeśli wartość klucza podstawowego nie istnieje w obiekcie DataRowCollection.

Wyjątki

Tabela nie ma klucza podstawowego.

Przykłady

W poniższym przykładzie użyto Find metody , aby znaleźć wartość klucza podstawowego "2" w kolekcji DataRow obiektów. Metoda zwraca określony DataRow obiekt, umożliwiając zmianę jego wartości zgodnie z potrzebami.

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

Uwagi

Aby użyć Find metody , obiekt, do którego DataRowCollection należy obiekt, DataTable musi mieć co najmniej jedną kolumnę wyznaczoną jako kolumnę klucza podstawowego. Zobacz właściwość , PrimaryKey aby uzyskać więcej informacji na temat tworzenia kolumny klucza podstawowego.

Zobacz też

Dotyczy