Condividi tramite


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

Convalida dei dati

Salvataggio di dati

Altre risorse

Connessione ai dati in Visual Studio