DataRowCollection.Find Metodo

Definizione

Ottiene un oggetto DataRow usando il valore PrimaryKey specificato.Gets a DataRow using the specified PrimaryKey value.

Overload

Find(Object[])

Ottiene la riga contenente i valori di chiave primaria specificati.Gets the row that contains the specified primary key values.

Find(Object)

Ottiene la riga specificata dal valore di chiave primaria.Gets the row specified by the primary key value.

Commenti

Le prestazioni devono essere un'operazione O (log n).Performance should be an O(log n) operation.

Find(Object[])

Ottiene la riga contenente i valori di chiave primaria specificati.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

Parametri

keys
Object[]

Matrice di valori di chiave primaria da trovare.An array of primary key values to find. Il tipo della matrice è Object.The type of the array is Object.

Restituisce

Classe DataRow contenente i valore di chiave primaria specificati; in caso contrario, un valore null se il valore di chiave primaria non è presente nella classe DataRowCollection.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.

Eccezioni

Nessuna riga corrisponde al valore di indice specificato.No row corresponds to that index value.

La tabella non dispone di una chiave primaria.The table does not have a primary key.

Esempi

Nell'esempio seguente vengono usati i valori di una matrice per trovare una riga specifica in una raccolta DataRow di oggetti.The following example uses the values of an array to find a specific row in a collection of DataRow objects. Il metodo presuppone che DataTable esista con tre colonne chiave primaria.The method assumes that a DataTable exists with three primary key columns. Dopo la creazione di una matrice di valori, il codice usa Find il metodo con la matrice per ottenere l'oggetto specifico desiderato.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

Commenti

Per usare il Find metodo, l' DataTable oggetto a cui appartiene DataRowCollection l'oggetto deve avere almeno una colonna designata come colonna chiave primaria.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. Quando due o più righe hanno lo stesso valore di chiave primaria, viene restituita la prima riga trovata.When two or more rows have the same primary key value, then the first row found is returned. Questo errore si EnforceConstraints verifica quando è impostato su false.This occurs when EnforceConstraints is set to false. Per ulteriori PrimaryKey informazioni su come creare una PrimaryKey colonna o una matrice di DataColumn oggetti quando la tabella contiene più di una chiave primaria, vedere la proprietà.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.

Vedi anche

Find(Object)

Ottiene la riga specificata dal valore di chiave primaria.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

Parametri

key
Object

Valore di chiave primaria dell'oggetto DataRow da trovare.The primary key value of the DataRow to find.

Restituisce

Classe DataRow contenente il valore di chiave primaria specificato. In caso contrario, valore null se il valore di chiave primaria non è presente nella classe DataRowCollection.A DataRow that contains the primary key value specified; otherwise a null value if the primary key value does not exist in the DataRowCollection.

Eccezioni

La tabella non dispone di una chiave primaria.The table does not have a primary key.

Esempi

Nell'esempio seguente viene usato Find il metodo per trovare il valore di chiave primaria "2" in una DataRow raccolta di oggetti.The following example uses the Find method to find the primary key value "2" in a collection of DataRow objects. Il metodo restituisce l'oggetto DataRow specifico che consente di modificare i valori, in base alle esigenze.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

Commenti

Per usare il Find metodo, l' DataTable oggetto a cui appartiene DataRowCollection l'oggetto deve avere almeno una colonna designata come colonna chiave primaria.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. Per ulteriori PrimaryKey informazioni su come creare una colonna chiave primaria, vedere la proprietà.See the PrimaryKey property for more information about how to create a primary key column.

Vedi anche

Si applica a