Метод 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 .
Порядок, в котором отдельные обновления пакета выполняются в источнике данных, не обязательно совпадает с порядком, в котором они выполнялись в локальном наборе записей. Порядок обновления зависит от поставщика. Учитывайте это при написании обновлений, связанных друг с другом, таких как ограничения внешнего ключа при вставке или обновлении.
Применение
См. также:
Пример использования методов UpdateBatch и CancelBatch (VB)
Примеры методов UpdateBatch и CancelBatch (Visual C++)
Метод CancelBatch (ADO)
Метод Clear (ADO)
Свойство LockType (ADO)
Метод Update