Condividi tramite


DataRowCollection.Find Metodo

Definizione

Ottiene un oggetto DataRow usando il valore PrimaryKey specificato.

Overload

Find(Object[])

Ottiene la riga contenente i valori di chiave primaria specificati.

Find(Object)

Ottiene la riga specificata dal valore di chiave primaria.

Commenti

Le prestazioni devono essere un'operazione O(log n).

Find(Object[])

Source:
DataRowCollection.cs
Source:
DataRowCollection.cs
Source:
DataRowCollection.cs

Ottiene la riga contenente i valori di chiave primaria specificati.

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

Parametri

keys
Object[]

Matrice di valori di chiave primaria da trovare. Il tipo della matrice è 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.

Eccezioni

Nessuna riga corrisponde al valore di indice specificato.

La tabella non dispone di una chiave primaria.

Esempio

Nell'esempio seguente vengono usati i valori di una matrice per trovare una riga specifica in una raccolta di DataRow oggetti. Il metodo presuppone che un oggetto DataTable esista con tre colonne chiave primaria. Dopo aver creato una matrice dei valori, il codice usa il Find metodo con la matrice per ottenere l'oggetto specifico desiderato.

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 metodo, l'oggetto DataTable a cui appartiene l'oggetto FindDataRowCollection deve avere almeno una colonna designata come colonna chiave primaria. Quando due o più righe hanno lo stesso valore della chiave primaria, viene restituita la prima riga trovata. Ciò si verifica quando EnforceConstraints è impostato su false. Vedere la PrimaryKey proprietà per altre informazioni su come creare una colonna o una PrimaryKey matrice di oggetti quando la tabella ha più di DataColumn una chiave primaria.

Vedi anche

Si applica a

Find(Object)

Source:
DataRowCollection.cs
Source:
DataRowCollection.cs
Source:
DataRowCollection.cs

Ottiene la riga specificata dal valore di chiave primaria.

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

Parametri

key
Object

Valore di chiave primaria dell'oggetto DataRow da trovare.

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.

Eccezioni

La tabella non dispone di una chiave primaria.

Esempio

Nell'esempio seguente viene usato il Find metodo per trovare il valore della chiave primaria "2" in una raccolta di DataRow oggetti. Il metodo restituisce l'oggetto specifico DataRow che consente di modificare i relativi valori, in base alle esigenze.

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 metodo, l'oggetto DataTable a cui appartiene l'oggetto FindDataRowCollection deve avere almeno una colonna designata come colonna chiave primaria. Per altre informazioni su come creare una colonna chiave primaria, vedere la PrimaryKey proprietà .

Vedi anche

Si applica a