DataRowCollection.Find Methode

Definition

Ruft eine DataRow anhand des angegebenen PrimaryKey-Werts ab.

Überlädt

Find(Object[])

Ruft die Zeile mit den angegebenen Primärschlüsselwerten ab.

Find(Object)

Ruft die durch den Primärschlüsselwert angegebene Zeile ab.

Hinweise

Die Leistung sollte ein O(log n)-Vorgang sein.

Find(Object[])

Ruft die Zeile mit den angegebenen Primärschlüsselwerten ab.

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

Parameter

keys
Object[]

Ein Array von zu suchenden Primärschlüsselwerten. Der Typ des Arrays ist Object.

Gibt zurück

DataRow

Ein DataRow-Objekt, das die angegebenen Primärschlüsselwerte enthält, andernfalls ein NULL-Wert, wenn der Primärschlüsselwert in der DataRowCollection nicht vorhanden ist.

Ausnahmen

Diesem Indexwert entspricht keine Zeile.

Die Tabelle verfügt über keinen Primärschlüssel.

Beispiele

Im folgenden Beispiel werden die Werte eines Arrays verwendet, um eine bestimmte Zeile in einer Auflistung von DataRow Objekten zu finden. Die Methode geht davon aus, dass eine DataTable mit drei Primärschlüsselspalten vorhanden ist. Nachdem Sie ein Array der Werte erstellt haben, verwendet der Code die Find Methode mit dem Array, um das gewünschte Objekt abzurufen.

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

Hinweise

Um die Find Methode zu verwenden, muss das Objekt, zu dem das DataTable DataRowCollection Objekt gehört, mindestens eine Spalte als Primärschlüsselspalte festgelegt sein. Wenn zwei oder mehrere Zeilen den gleichen Primärschlüsselwert haben, wird die erste Zeile zurückgegeben. Dies tritt auf EnforceConstraints "false" fest. Weitere Informationen zum Erstellen einer Spalte oder eines PrimaryKey Arrays von DataColumn Objekten, wenn die Tabelle mehr als einen Primärschlüssel aufweist, finden Sie in der PrimaryKey Eigenschaft.

Siehe auch

Gilt für

Find(Object)

Ruft die durch den Primärschlüsselwert angegebene Zeile ab.

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

Parameter

key
Object

Der Primärschlüsselwert der zu suchenden DataRow.

Gibt zurück

DataRow

Eine DataRow, die den angegebenen Primärschlüsselwert enthält, andernfalls ein NULL-Wert, wenn der Primärschlüsselwert in der DataRowCollection nicht vorhanden ist.

Ausnahmen

Die Tabelle verfügt über keinen Primärschlüssel.

Beispiele

Im folgenden Beispiel wird die Find Methode verwendet, um den Primärschlüsselwert "2" in einer Auflistung von DataRow Objekten zu finden. Die Methode gibt das bestimmte DataRow Objekt zurück, mit dem Sie ihre Werte ändern können, wie erforderlich.

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

Hinweise

Um die Find Methode zu verwenden, muss das Objekt, zu dem das DataTable DataRowCollection Objekt gehört, mindestens eine Spalte als Primärschlüsselspalte festgelegt sein. Weitere Informationen zum Erstellen einer Primärschlüsselspalte finden Sie in der PrimaryKey Eigenschaft.

Siehe auch

Gilt für