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


Метод UpdateBatch

Записывает все ожидающие пакетные обновления на диск.

Синтаксис

  
recordset.UpdateBatch AffectRecords, PreserveStatus  

Параметры

AffectRecords
Необязательный элемент. Значение AffectEnum , указывающее, сколько записей повлияет метод UpdateBatch .

PreserveStatus
Необязательный элемент. Логическое значение, указывающее, должны ли быть зафиксированы локальные изменения, как указано в свойстве Status. Если для этого значения задано значение True, свойство Status каждой записи остается неизменным после завершения обновления.

Комментарии

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

Если объект Recordset поддерживает пакетное обновление, можно кэшировать несколько изменений в одной или нескольких записях локально до вызова метода UpdateBatch . При изменении текущей записи или добавлении новой записи при вызове метода UpdateBatch ADO автоматически вызывает метод Update , чтобы сохранить все ожидающие изменения в текущей записи перед передачей пакетных изменений поставщику. Пакетное обновление следует использовать только с набором ключей или статическим курсором.

Примечание

Указание adAffectGroup в качестве значения для этого параметра приведет к ошибке, если в текущем наборе записей нет видимых записей (например, фильтр, для которого не совпадают записи).

Если попытка передачи изменений для любой или всех записей завершается сбоем из-за конфликта с базовыми данными (например, запись уже была удалена другим пользователем), поставщик возвращает предупреждения в коллекцию Errors и возникает ошибка во время выполнения. Используйте свойство Filter (adFilterAffectedRecords) и свойство Status для поиска записей с конфликтами.

Чтобы отменить все ожидающие пакетные обновления, используйте метод CancelBatch .

Если заданы динамические свойства Unique Table и Update Resync , а recordset является результатом выполнения операции JOIN для нескольких таблиц, то за выполнением метода UpdateBatch неявно следует метод Resync в зависимости от параметров свойства Update Resync .

Порядок, в котором отдельные обновления пакета выполняются в источнике данных, не обязательно совпадает с порядком, в котором они выполнялись в локальном наборе записей. Порядок обновления зависит от поставщика. Учитывайте это при написании обновлений, связанных друг с другом, таких как ограничения внешнего ключа при вставке или обновлении.

Применение

Объект Recordset (ADO)

См. также:

Пример использования методов UpdateBatch и CancelBatch (VB)
Примеры методов UpdateBatch и CancelBatch (Visual C++)
Метод CancelBatch (ADO)
Метод Clear (ADO)
Свойство LockType (ADO)
Метод Update