DataRowCollection.Find Methode

Definition

Ruft eine DataRow anhand des angegebenen PrimaryKey-Werts ab.Gets a DataRow using the specified PrimaryKey value.

Überlädt

Find(Object[])

Ruft die Zeile mit den angegebenen Primärschlüsselwerten ab.Gets the row that contains the specified primary key values.

Find(Object)

Ruft die durch den Primärschlüsselwert angegebene Zeile ab.Gets the row specified by the primary key value.

Hinweise

Die Leistung sollte ein O (log n)-Vorgang sein.Performance should be an O(log n) operation.

Find(Object[])

Ruft die Zeile mit den angegebenen Primärschlüsselwerten ab.Gets the row that contains the specified primary key values.

public:
 System::Data::DataRow ^ Find(cli::array <System::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.An array of primary key values to find. Der Typ des Arrays ist Object.The type of the array is 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.A DataRow object that contains the primary key values specified; otherwise a null value if the primary key value does not exist in the DataRowCollection.

Ausnahmen

Diesem Indexwert entspricht keine Zeile.No row corresponds to that index value.

Die Tabelle verfügt über keinen Primärschlüssel.The table does not have a primary key.

Beispiele

Im folgenden Beispiel werden die Werte eines Arrays verwendet, um eine bestimmte Zeile in einer Auflistung von DataRow -Objekten zu suchen.The following example uses the values of an array to find a specific row in a collection of DataRow objects. Bei der-Methode wird DataTable davon ausgegangen, dass eine mit drei Primärschlüssel Spalten vorhanden ist.The method assumes that a DataTable exists with three primary key columns. Nachdem Sie ein Array mit den Werten erstellt haben, verwendet Find der Code die-Methode mit dem-Array, um das gewünschte Objekt zu erhalten.After creating an array of the values, the code uses the Find method with the array to get the particular object that you want.

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 DataTable , muss das Objekt DataRowCollection , zu dem das Objekt gehört, mindestens eine Spalte als Primärschlüssel Spalte aufweisen.To use the Find method, the DataTable object to which the DataRowCollection object belongs must have at least one column designated as a primary key column. Wenn mindestens zwei Zeilen denselben Primärschlüssel Wert aufweisen, wird die erste gefundene Zeile zurückgegeben.When two or more rows have the same primary key value, then the first row found is returned. Dies tritt auf EnforceConstraints , wenn auf false festgelegt ist.This occurs when EnforceConstraints is set to false. Weitere Informationen PrimaryKey zum Erstellen einer PrimaryKey Spalte oder ein Array von DataColumn Objekten finden Sie unter der-Eigenschaft, wenn die Tabelle mehr als einen Primärschlüssel aufweist.See the PrimaryKey property for more information about how to create a PrimaryKey column, or an array of DataColumn objects when the table has more than one primary key.

Siehe auch

Find(Object)

Ruft die durch den Primärschlüsselwert angegebene Zeile ab.Gets the row specified by the primary key value.

public:
 System::Data::DataRow ^ Find(System::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.The primary key value of the DataRow to find.

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.A DataRow that contains the primary key value specified; otherwise a null value if the primary key value does not exist in the DataRowCollection.

Ausnahmen

Die Tabelle verfügt über keinen Primärschlüssel.The table does not have a primary key.

Beispiele

Im folgenden Beispiel wird die Find -Methode verwendet, um den Primärschlüssel Wert "2" in einer DataRow Auflistung von-Objekten zu suchen.The following example uses the Find method to find the primary key value "2" in a collection of DataRow objects. Die-Methode gibt das DataRow jeweilige Objekt zurück, sodass Sie Ihre Werte nach Bedarf ändern können.The method returns the specific DataRow object letting you change its values, as needed.

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 DataTable , muss das Objekt DataRowCollection , zu dem das Objekt gehört, mindestens eine Spalte als Primärschlüssel Spalte aufweisen.To use the Find method, the DataTable object to which the DataRowCollection object belongs must have at least one column designated as a primary key column. Weitere Informationen PrimaryKey zum Erstellen einer Primärschlüssel Spalte finden Sie unter der-Eigenschaft.See the PrimaryKey property for more information about how to create a primary key column.

Siehe auch

Gilt für: