Procedura: recuperare le righe modificate
Per ciascuna riga di una tabella di dati esiste una proprietà RowState che tiene traccia dello stato corrente della riga utilizzando i valori inclusi nell'enumerazione DataRowState.Le righe modificate da un dataset o una tabella dati possono essere restituite chiamando il metodo GetChanges di una classe DataSet o DataTable.Per verificare le modifiche preesistenti alla chiamata di GetChanges, chiamare il metodo HasChanges di un dataset.Per ulteriori informazioni sul metodo HasChanges, vedere Procedura: verificare le righe modificate.
[!NOTA]
Dopo aver eseguito il commit delle modifiche in un dataset o in una tabella dati mediante la chiamata del metodo AcceptChanges, il metodo GetChanges non restituirà alcun dato.Se è necessario elaborare le righe modificate nell'applicazione, effettuare questa operazione prima di chiamare il metodo AcceptChanges.
La chiamata del metodo GetChanges di un dataset o di una tabella dati restituisce un nuovo dataset o una nuova tabella dati contenente solo i record modificati.Per recuperare solo determinati record, ad esempio solo quelli nuovi o modificati, è possibile passare come parametro un valore dell'enumerazione DataRowState al metodo GetChanges.
Utilizzare l'enumerazione DataRowVersion per accedere alle varie versioni di una riga, ad esempio se si desidera esaminare i valori originariamente presenti in una riga prima della sua elaborazione.
Per recuperare tutti i record modificati da un dataset
Chiamare il metodo GetChanges di un dataset.
Nel seguente esempio viene illustrato come creare un nuovo dataset denominato changedRecords e come popolarlo con tutti i record modificati di un altro dataset denominato dataSet1.
Dim changedRecords As DataSet = DataSet1.GetChanges()
DataSet changedRecords = dataSet1.GetChanges();
Per recuperare tutti i record modificati da una tabella di dati
Chiamare il metodo GetChanges di un oggetto DataTable.
Nel seguente esempio viene illustrato come creare una nuova tabella di dati denominata changedRecordsTable e come popolarla con tutti i record modificati di un'altra tabella di dati denominato dataTable1.
Dim changedRecordsTable As DataTable = dataTable1.GetChanges()
DataTable changedRecordsTable = dataTable1.GetChanges();
Per recuperare tutti i record con un determinato stato della riga
Chiamare il metodo GetChanges di un dataset o di una tabella dati e passare come argomento un valore di enumerazione DataRowState.
Nell'esempio che segue viene illustrata la procedura che consente di creare un nuovo dataset denominato addedRecords e popolarlo solo con i record aggiunti al dataset dataSet1.
Dim addedRecords As DataSet = DataSet1.GetChanges(DataRowState.Added)
DataSet addedRecords = dataSet1.GetChanges(DataRowState.Added);
Nell'esempio seguente viene illustrato come fare in modo che vengano restituiti tutti i record aggiunti di recente alla tabella Customers:
Private Function GetNewRecords() As NorthwindDataSet.CustomersDataTable Return CType(NorthwindDataSet1.Customers.GetChanges(Data.DataRowState.Added), NorthwindDataSet.CustomersDataTable) End Function
private NorthwindDataSet.CustomersDataTable GetNewRecords() { return (NorthwindDataSet.CustomersDataTable) northwindDataSet1.Customers.GetChanges(DataRowState.Added); }
Vedere anche
Attività
Procedura: verificare le righe modificate
Procedura: ottenere versioni specifiche di un DataRow
Concetti
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
Modifica di dati nell'applicazione