DataTable.GetChanges Metoda

Definicja

Pobiera kopię DataTable zawierającego wszystkie zmiany wprowadzone do niego od momentu ostatniego załadowania lub od momentu wywołania AcceptChanges().Gets a copy of the DataTable containing all changes made to it since it was last loaded, or since AcceptChanges() was called.

Przeciążenia

GetChanges()

Pobiera kopię DataTable, która zawiera wszystkie zmiany dokonane od momentu załadowania lub AcceptChanges() została ostatnio wywołana.Gets a copy of the DataTable that contains all changes made to it since it was loaded or AcceptChanges() was last called.

GetChanges(DataRowState)

Pobiera kopię DataTable zawierającego wszystkie zmiany wprowadzone do niego od momentu ostatniego załadowania lub od momentu, gdy AcceptChanges() został wywołany, przefiltrowany przez DataRowState.Gets a copy of the DataTable containing all changes made to it since it was last loaded, or since AcceptChanges() was called, filtered by DataRowState.

GetChanges()

Pobiera kopię DataTable, która zawiera wszystkie zmiany dokonane od momentu załadowania lub AcceptChanges() została ostatnio wywołana.Gets a copy of the DataTable that contains all changes made to it since it was loaded or AcceptChanges() was last called.

public:
 System::Data::DataTable ^ GetChanges();
public System.Data.DataTable GetChanges ();
member this.GetChanges : unit -> System.Data.DataTable
Public Function GetChanges () As DataTable

Zwraca

Kopia zmian z tego DataTablelub null, jeśli nie znaleziono żadnych zmian.A copy of the changes from this DataTable, or null if no changes are found.

Przykłady

private void UpdateDataTable(DataTable table, 
    OleDbDataAdapter myDataAdapter)
{
    DataTable xDataTable = table.GetChanges();

    // Check the DataTable for errors.
    if (xDataTable.HasErrors)
    {
        // Insert code to resolve errors.
    }

    // After fixing errors, update the database with the DataAdapter 
    myDataAdapter.Update(xDataTable);
}
Private Sub UpdateDataTable(table As DataTable, _
    myDataAdapter As OleDbDataAdapter)

    Dim xDataTable As DataTable = table.GetChanges()

    ' Check the DataTable for errors.
    If xDataTable.HasErrors Then
        ' Insert code to resolve errors.
    End If

    ' After fixing errors, update the database with the DataAdapter 
    myDataAdapter.Update(xDataTable)
End Sub

Uwagi

Tworzy nowy DataSet zawierający kopię wszystkich wierszy w oryginalnym DataSet, które mają oczekujące zmiany.Creates a new DataSet containing a copy of all rows in the original DataSet that have pending changes. Ograniczenia relacji mogą spowodować dodanie dodatkowych niezmienionych wierszy do nowego DataSet, jeśli niezmienione wiersze zawierają klucze podstawowe odpowiadające kluczom obcym w zmienionych wierszach.Relationship constraints can cause additional unchanged rows to be added to the new DataSet if the unchanged rows contain primary keys corresponding to foreign keys in the changed rows. Metoda zwraca null (Nothing w Visual Basic), jeśli nie ma wierszy w oryginalnym DataSet z oczekującymi zmianami.The method returns null (Nothing in Visual Basic) if there are no rows in the original DataSet with pending changes.

Zobacz też

GetChanges(DataRowState)

Pobiera kopię DataTable zawierającego wszystkie zmiany wprowadzone do niego od momentu ostatniego załadowania lub od momentu, gdy AcceptChanges() został wywołany, przefiltrowany przez DataRowState.Gets a copy of the DataTable containing all changes made to it since it was last loaded, or since AcceptChanges() was called, filtered by DataRowState.

public:
 System::Data::DataTable ^ GetChanges(System::Data::DataRowState rowStates);
public System.Data.DataTable GetChanges (System.Data.DataRowState rowStates);
member this.GetChanges : System.Data.DataRowState -> System.Data.DataTable
Public Function GetChanges (rowStates As DataRowState) As DataTable

Parametry

rowStates
DataRowState

Jedna z wartości DataRowState.One of the DataRowState values.

Zwraca

Odfiltrowana kopia DataTable, która może zawierać wykonane przez niego akcje, a później jest scalana z powrotem w DataTable przy użyciu Merge(DataSet).A filtered copy of the DataTable that can have actions performed on it, and later be merged back in the DataTable using Merge(DataSet). Jeśli nie zostaną znalezione żadne wiersze żądanego DataRowState, metoda zwraca null.If no rows of the desired DataRowState are found, the method returns null.

Przykłady

private void ProcessDeletes(DataTable table, 
    OleDbDataAdapter adapter)
{
    DataTable changeTable = table.GetChanges(DataRowState.Deleted);

    // Check the DataTable for errors.
    if (changeTable.HasErrors)
    {
        // Insert code to resolve errors.
    }

    // After fixing errors, update the database with the DataAdapter 
    adapter.Update(changeTable);
}
Private Sub ProcessDeletes(table As DataTable, _
    adapter As OleDbDataAdapter)

   Dim changeTable As DataTable = table.GetChanges(DataRowState.Deleted)

   ' Check the DataTable for errors.
   If table.HasErrors Then
      ' Insert code to resolve errors.
   End If

   ' After fixing errors, update the database with the DataAdapter 
   adapter.Update(changeTable)
End Sub

Uwagi

Metoda GetChanges służy do tworzenia drugiego obiektu DataTable, który zawiera tylko zmiany wprowadzone do oryginału.The GetChanges method is used to produce a second DataTable object that contains only the changes introduced into the original. Użyj argumentu rowStates, aby określić typ zmian, jakie powinien zawierać nowy obiekt.Use the rowStates argument to specify the type of changes the new object should include.

Ograniczenia relacji mogą spowodować uwzględnienie niezmienionych wierszy nadrzędnych.Relationship constraints may cause unchanged parent rows to be included.

Zobacz też

Dotyczy