Procedura: verificare le righe modificate

Quando vengono apportate modifiche ai record di un dataset, le informazioni su tali modifiche vengono archiviate finché non ne viene eseguito il commit. L'esecuzione del commit delle modifiche avviene chiamando il metodo AcceptChanges di un dataset, di una tabella di dati, oppure chiamando il metodo Update di un oggetto TableAdapter o di un adattatore dati.

In ciascuna riga di dati le modifiche vengono registrate in due modi:

  • Ogni riga di dati contiene informazioni relative al rispettivo RowState (ad esempio Added, Modified, Deleted, Unchanged).

  • Ogni riga di dati modificata contiene più versioni della riga stessa (DataRowVersion), a cui è possibile accedere: la versione originale (prima delle modifiche) e quella corrente (dopo le modifiche). Nell'intervallo di tempo in cui una modifica è in sospeso (durante il quale è possibile rispondere all'evento RowChanging) è disponibile anche una terza versione, quella proposta. Per ulteriori informazioni, vedere Procedura: ottenere versioni specifiche di un DataRow.

Individuazione di eventuali righe modificate

Il metodo HasChanges di un dataset restituisce true se sono state apportate modifiche al dataset. Dopo aver determinato l'esistenza di righe modificate, è possibile chiamare il metodo GetChanges di un DataSet o DataTable per restituirne un insieme. Per ulteriori informazioni, vedere Procedura: recuperare le righe modificate.

Per determinare se alcune righe sono state modificate

  • Chiamare il metodo HasChanges di un dataset per verificare la presenza di eventuali righe modificate.

    Nell'esempio che segue viene illustrata la procedura di controllo del valore restituito dal metodo HasChanges per rilevare se in un dataset denominato NorthwindDataset1 sono presenti delle righe modificate.

    If NorthwindDataSet1.HasChanges() Then
    
        ' Changed rows were detected, add appropriate code.
    Else
        ' No changed rows were detected, add appropriate code. 
    End If
    
    if (northwindDataSet1.HasChanges()) 
    {
        // Changed rows were detected, add appropriate code.
    }
    else
    {
        // No changed rows were detected, add appropriate code.
    }
    

Determinazione del tipo di modifica

È inoltre possibile controllare il tipo di modifiche apportate a un dataset passando un valore dall'enumerazione DataRowState al metodo HasChanges.

Per determinare il tipo di modifiche apportate a una riga

  • Passare un valore DataRowState al metodo HasChanges.

    Nell'esempio seguente viene illustrata la procedura per verificare se in un dataset denominato NorthwindDataset1 sono state aggiunte nuove righe.

    If NorthwindDataSet1.HasChanges(DataRowState.Added) Then
    
        ' New rows have been added to the dataset, add appropriate code.
    Else
        ' No new rows have been added to the dataset, add appropriate code.
    End If
    
    if (northwindDataSet1.HasChanges(DataRowState.Added)) 
    {
        // New rows have been added to the dataset, add appropriate code.
    }
    else
    {
        // No new rows have been added to the dataset, add appropriate code.
    }
    

Vedere anche

Concetti

Modifica di dati nell'applicazione

Associazione di controlli Windows Form ai dati in Visual Studio

Preparazione dell'applicazione al ricevimento di dati

Recupero di dati nell'applicazione

Associazione di controlli ai dati in Visual Studio

Convalida dei dati

Salvataggio di dati

Altre risorse

Procedure dettagliate relative ai dati

Connessione ai dati in Visual Studio