Прочитать на английском

Поделиться через


DataTable.GetChanges Метод

Определение

Получает копию таблицы DataTable, содержащую все изменения, внесенные после ее последней загрузки или после вызова метода AcceptChanges().

Перегрузки

GetChanges()

Получает копию таблицы DataTable, содержащую все изменения, внесенные после ее загрузки или после последнего вызова метода AcceptChanges().

GetChanges(DataRowState)

Получает копию таблицы DataTable, содержащую все изменения, внесенные после ее последней загрузки или после вызова метода AcceptChanges() и отфильтрованные по параметру DataRowState.

GetChanges()

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Получает копию таблицы DataTable, содержащую все изменения, внесенные после ее загрузки или после последнего вызова метода AcceptChanges().

public System.Data.DataTable? GetChanges ();
public System.Data.DataTable GetChanges ();

Возвращаемое значение

Копия изменений из данного объекта DataTable или значение null, если изменения не найдены.

Примеры

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);
}

Комментарии

Создает объект DataSet , содержащий копию всех строк в исходном DataSet объекте с ожидающими изменениями. Ограничения связей могут привести к добавлению дополнительных неизменившихся строк в новую DataSet , если неизменимые строки содержат первичные ключи, соответствующие внешним ключам в измененных строках. Метод возвращает null значение (Nothing в Visual Basic), если в исходном DataSet экземпляре нет строк с ожидающих изменений.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetChanges(DataRowState)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Получает копию таблицы DataTable, содержащую все изменения, внесенные после ее последней загрузки или после вызова метода AcceptChanges() и отфильтрованные по параметру DataRowState.

public System.Data.DataTable? GetChanges (System.Data.DataRowState rowStates);
public System.Data.DataTable GetChanges (System.Data.DataRowState rowStates);

Параметры

rowStates
DataRowState

Одно из значений перечисления DataRowState.

Возвращаемое значение

Отфильтрованная копия таблицы DataTable, с которой можно работать и позднее объединить обратно с DataTable, используя метод Merge(DataSet). Если строки с требуемым типом DataRowState отсутствуют, метод вернет значение null.

Примеры

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);
}

Комментарии

Метод GetChanges используется для создания второго DataTable объекта, который содержит только изменения, внесенные в исходный объект. Используйте аргумент , rowStates чтобы указать тип изменений, которые должен включать новый объект.

Ограничения связи могут привести к тому, что родительские строки будут включены без изменений.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1