DataRowCollection.Find Yöntem

Tanım

Belirtilen PrimaryKey değeri kullanarak bir DataRow alır.

Aşırı Yüklemeler

Find(Object[])

Belirtilen birincil anahtar değerlerini içeren satırı alır.

Find(Object)

Birincil anahtar değeri tarafından belirtilen satırı alır.

Açıklamalar

Performans bir O(günlük n) işlemi olmalıdır.

Find(Object[])

Belirtilen birincil anahtar değerlerini içeren satırı alır.

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

Parametreler

keys
Object[]

Bulunacak birincil anahtar değerleri dizisi. Dizinin türü şeklindedir Object.

Döndürülenler

DataRow

DataRow Belirtilen birincil anahtar değerlerini içeren bir nesne; aksi takdirde birincil anahtar değeri içinde DataRowCollectionyoksa null değer.

Özel durumlar

Bu dizin değerine karşılık gelen satır yok.

Tabloda bir birincil anahtar yoktur.

Örnekler

Aşağıdaki örnek, bir nesne koleksiyonundaki DataRow belirli bir satırı bulmak için dizinin değerlerini kullanır. yöntemi, bir DataTable öğesinin üç birincil anahtar sütunuyla var olduğunu varsayar. Değerlerin bir dizisini oluşturduktan sonra kod, istediğiniz nesneyi almak için dizi ile yöntemini kullanır Find .

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

Açıklamalar

yöntemini kullanmak Find için, nesnenin DataTable ait olduğu nesnenin DataRowCollection birincil anahtar sütunu olarak belirlenmiş en az bir sütunu olmalıdır. İki veya daha fazla satır aynı birincil anahtar değerine sahip olduğunda, bulunan ilk satır döndürülür. False olarak ayarlandığında bu durum oluşur EnforceConstraints . PrimaryKey Tabloda birden fazla birincil anahtar olduğunda sütun veya nesne dizisi DataColumn oluşturma PrimaryKey hakkında daha fazla bilgi için özelliğine bakın.

Ayrıca bkz.

Şunlara uygulanır

Find(Object)

Birincil anahtar değeri tarafından belirtilen satırı alır.

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

Parametreler

key
Object

Bulunacak öğesinin DataRow birincil anahtar değeri.

Döndürülenler

DataRow

DataRow Belirtilen birincil anahtar değerini içeren bir; birincil anahtar değeri içinde DataRowCollectionyoksa null değer.

Özel durumlar

Tabloda bir birincil anahtar yoktur.

Örnekler

Aşağıdaki örnek, bir nesne koleksiyonunda Find DataRow birincil anahtar değeri "2" bulmak için yöntemini kullanır. yöntemi, belirli DataRow bir nesneyi döndürerek değerlerini gerektiği gibi değiştirmenize izin verir.

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

Açıklamalar

yöntemini kullanmak Find için, nesnenin DataTable ait olduğu nesnenin DataRowCollection birincil anahtar sütunu olarak belirlenmiş en az bir sütunu olmalıdır. PrimaryKey Birincil anahtar sütunu oluşturma hakkında daha fazla bilgi için özelliğine bakın.

Ayrıca bkz.

Şunlara uygulanır