Teilen über


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

Quelle:
DataRowCollection.cs
Quelle:
DataRowCollection.cs
Quelle:
DataRowCollection.cs

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

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 suchen. Bei der -Methode wird davon ausgegangen, dass eine DataTable mit drei Primärschlüsselspalten vorhanden ist. Nach dem Erstellen eines Arrays der Werte 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 verwenden zu können, muss das DataTable Objekt, zu dem das DataRowCollection Objekt gehört, über mindestens eine Spalte verfügen, die als Primärschlüsselspalte festgelegt ist. Wenn zwei oder mehr Zeilen denselben Primärschlüsselwert haben, wird die erste gefundene Zeile zurückgegeben. Dies tritt auf, wenn EnforceConstraints auf false festgelegt ist. PrimaryKey Weitere Informationen zum Erstellen einer Spalte oder eines PrimaryKey Arrays von DataColumn Objekten, wenn die Tabelle über mehrere Primärschlüssel verfügt, finden Sie in der -Eigenschaft.

Weitere Informationen

Gilt für:

Find(Object)

Quelle:
DataRowCollection.cs
Quelle:
DataRowCollection.cs
Quelle:
DataRowCollection.cs

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

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 spezifische DataRow Objekt zurück, sodass Sie seine Werte nach Bedarf ändern können.

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 verwenden zu können, muss das DataTable Objekt, zu dem das DataRowCollection Objekt gehört, über mindestens eine Spalte verfügen, die als Primärschlüsselspalte festgelegt ist. Weitere Informationen zum Erstellen einer Primärschlüsselspalte finden Sie in der PrimaryKey -Eigenschaft.

Weitere Informationen

Gilt für: