Cómo: Recuperar filas modificadas

Cada una de las filas de una tabla de datos tiene una propiedad RowState que mantiene el control del estado actual de esa fila mediante los valores de la enumeración DataRowState. Puede devolver filas modificadas desde un conjunto de datos o tabla de datos llamando al método GetChanges de un DataSet o DataTable. Puede comprobar que los cambios existen antes de llamar GetChanges llamando al método HasChanges de un conjunto de datos. Para obtener más información sobre HasChanges, vea Cómo: Comprobar si hay filas modificadas.

Nota

Después de confirmar los cambios de un conjunto de datos o tabla de datos (llamando al método AcceptChanges ), el método GetChanges no devolverá los datos. Si su aplicación necesita procesar las filas modificadas, debe hacerlo antes de llamar al método AcceptChanges.

Al llamar al método GetChanges de un conjunto de datos o tabla de datos, se devuelve un nuevo conjunto de datos o tabla de datos que contiene solamente los registros modificados. Si desea obtener sólo registros concretos - por ejemplo, sólo nuevos registros o sólo registros modificados - puede pasar un valor de la enumeración DataRowState como un parámetro al método GetChanges.

Utilice la enumeración DataRowVersion para tener acceso a las distintas versiones de una fila (por ejemplo, tal vez desee examinar los valores originales de una fila antes de procesarla).

Para obtener todos los registros modificados de un conjunto de datos

  • Llame al método GetChanges de un conjunto de datos.

    En el ejemplo siguiente, se crea un nuevo conjunto de datos denominado changedRecords y se llena con todos los registros modificados de otro conjunto de datos denominado dataSet1.

    Dim changedRecords As DataSet = DataSet1.GetChanges()
    
    DataSet changedRecords = dataSet1.GetChanges();
    

Para obtener todos los registros cambiados de una tabla de datos

  • Llame al método GetChanges de un objeto DataTable.

    En el ejemplo siguiente se crea una nueva tabla de datos denominada changedRecordsTable y se llena con todos los registros modificados de otra tabla de datos denominada dataTable1.

    Dim changedRecordsTable As DataTable = dataTable1.GetChanges()
    
    DataTable changedRecordsTable = dataTable1.GetChanges();
    

Para obtener todos los registros que tienen un estado de fila concreto

  • Llame al método GetChanges de un conjunto de datos o tabla de datos y pase un valor de enumeración DataRowState como argumento.

    En el siguiente ejemplo se muestra cómo crear un nuevo conjunto de datos denominado addedRecords y cómo rellenarlo sólo con los registros que se han agregado al conjunto de datos dataSet1.

    Dim addedRecords As DataSet = DataSet1.GetChanges(DataRowState.Added)
    
    DataSet addedRecords = dataSet1.GetChanges(DataRowState.Added);
    
  • El ejemplo siguiente muestra cómo devolver todos los registros agregados recientemente a la tabla 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);
    }
    

Vea también

Tareas

Cómo: Comprobar si hay filas modificadas

Cómo: Obtener versiones específicas de una fila de datos

Conceptos

Enlazar controles de Windows Forms a datos en Visual Studio

Enlazar controles a los datos en Visual Studio

Otros recursos

Conectarse a datos en Visual Studio

Preparar la aplicación para recibir datos

Buscar datos en la aplicación

Modificar datos en la aplicación

Validar datos

Guardar datos