Share via


Procedura: individuare una riga specifica in un oggetto DataTable

Aggiornamento: novembre 2007

Per la maggior parte delle applicazioni basate sull'utilizzo di dati è necessario accedere a determinati record che soddisfano alcuni tipi di criteri. È possibile individuare una riga specifica in un dataset richiamando il metodo Find dell'oggetto DataRowCollection. Se la chiave primaria esiste, verrà restituito un oggetto DataRow. Se invece non è possibile trovare la chiave primaria, verrà restituito un valore Null.

Individuazione di una riga mediante un valore di chiave primaria

Per individuare una riga in un dataset tipizzato con un valore di chiave primaria

  • Chiamare il metodo fortemente tipizzato FindBy che utilizza la chiave primaria della tabella per individuare una riga.

    Nell'esempio riportato di seguito la colonna CustomerID è la chiave primaria della tabella Customers, pertanto il metodo FindBy generato è FindByCustomerID. Nell'esempio viene descritto come assegnare una DataRow specifica a una variabile utilizzando il metodo FindBy generato.

    Dim customersRow As NorthwindDataSet.CustomersRow
    customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")
    
    NorthwindDataSet.CustomersRow customersRow = 
        northwindDataSet1.Customers.FindByCustomerID("ALFKI");
    

Per individuare una riga in un dataset non tipizzato con un valore di chiave primaria

  • Chiamare il metodo Find di un insieme DataRowCollection passando come argomento la chiave primaria.

    Nell'esempio riportato di seguito viene illustrata la procedura per dichiarare una nuova riga denominata foundRow e assegnarle il valore restituito del metodo Find. Se la chiave primaria viene individuata, il contenuto dell'indice della colonna 1 verrà visualizzato in una finestra di messaggio.

    Dim s As String = "primaryKeyValue"
    Dim foundRow As DataRow = DataSet1.Tables("AnyTable").Rows.Find(s)
    
    If foundRow IsNot Nothing Then
        MsgBox(foundRow(1).ToString())
    Else
        MsgBox("A row with the primary key of " & s & " could not be found")
    End If
    
    string s = "primaryKeyValue";
    DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s);
    
    if (foundRow != null) 
    {
        MessageBox.Show(foundRow[1].ToString());
    }
    else
    {
        MessageBox.Show("A row with the primary key of " + s + " could not be found");
    }
    

Individuazione delle righe in base ai valori delle colonne

Per individuare le righe in base ai valori di ciascuna colonna

  • Le tabelle dati vengono create con un metodo Select che restituisce una matrice di DataRow in base all'espressione passata al metodo Select. Per ulteriori informazioni sulla creazione di espressioni valide, vedere la sezione "Sintassi delle espressioni" della pagina relativa alla proprietà Expression.

    Nell'esempio seguente viene descritto come utilizzare il metodo Select dell'oggetto DataTable per l'individuazione di righe specifiche.

    Dim foundRows() As Data.DataRow
    foundRows = DataSet1.Tables("Customers").Select("CompanyName Like 'A%'")
    
    DataRow[] foundRows;
    foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");
    

Vedere anche

Riferimenti

Find

Select

Altre risorse

Modifica di dati nell'applicazione

Connessione ai dati in Visual Studio

Preparazione dell'applicazione al ricevimento di dati

Recupero di dati nell'applicazione

Visualizzazione di dati su form nelle applicazioni Windows

Modifica di dati nell'applicazione

Convalida dei dati

Salvataggio di dati