DataRowCollection.Find Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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
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 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.