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