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
Novità relative allo sviluppo di applicazioni dati in Visual Studio 2012
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