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


Метод Save (ADO)

Область применения: Access 2013, Office 2013

Сохраняет набор записей в файл или объект Stream.

Синтаксис

набор записей. Сохранитьназначение, PersistFormat

Параметры

Параметр Описание
Destination Необязательный параметр. Значение Variant, представляющее полное имя пути к файлу, в котором должен быть сохранен набор записей, или ссылку на объект Stream.
PersistFormat Необязательный параметр. Значение PersistFormatEnum , указывающее формат сохранения набора записей (XML или ADTG). Значение по умолчанию — adPersistADTG.

Замечания

Метод Save можно вызвать только в открытом наборе записей. Используйте метод Open для последующего восстановления набора записей из назначения.

Если свойство Filter действует для набора записей, сохраняются только строки, доступные в фильтре. Если набор записей является иерархическим, то сохраняется текущий дочерний набор записей и его дочерние элементы, включая родительский набор записей. Если вызывается метод Save дочернего набора записей , дочерний элемент и все его дочерние элементы сохраняются, а родительский — нет.

При первом сохранении набора записей необязательно указывать назначение. Если опустить назначение, будет создан новый файл со значением свойства Sourceнабора записей.

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

Сохранение не закрывает набор записей или назначение, поэтому вы можете продолжить работу с набором записей и сохранить последние изменения. Назначение остается открытым до закрытия набора записей .

Из соображений безопасности метод Save позволяет использовать только низкие и настраиваемые параметры безопасности из сценария, выполняемого Microsoft Internet Обозреватель. Более подробное описание проблем с безопасностью см. в разделе Проблемы безопасности ADO и RDS в Microsoft Internet Обозреватель в разделе Технические статьи о объектах данных ActiveX (ADO) в технических статьях Microsoft Data Access.

Если метод Save вызывается во время асинхронной операции получения, выполнения или обновления набора записей, сохранение ожидает завершения асинхронной операции.

Записи сохраняются, начиная с первой строки набора записей. По завершении метода Save текущая позиция строки перемещается в первую строку набора записей.

Для получения наилучших результатов присвойте свойству CursorLocation значение adUseClient с сохранением. Если поставщик не поддерживает все функции, необходимые для сохранения объектов Recordset , служба курсоров предоставит эту функцию.

Если набор записей сохраняется со свойством CursorLocation , для свойства имеет значение adUseServer, возможность обновления для набора записей ограничена. Как правило, допускаются только обновления, вставки и удаления из одной таблицы (в зависимости от функциональных возможностей поставщика). Метод Resync также недоступен в этой конфигурации.

Примечание.

Сохранение набора записей с полями типа adVariant, adIDispatch или adIUnknown не поддерживается ADO и может привести к непредсказуемым результатам.

Только фильтры в виде строк условия (например, OrderDate > '12/31/1999') влияют на содержимое сохраненного набора записей. Фильтры, созданные с массивом закладок или с использованием значения из FilterGroupEnum , не влияют на содержимое сохраненного набора записей. Эти правила применяются к наборам записей, созданным с помощью клиентских или серверных курсоров.

Так как параметр Destination может принимать любой объект, поддерживающий интерфейс IStream OLE DB, вы можете сохранить набор записей непосредственно в объекте ASP Response. Дополнительные сведения см. в статье Сценарий сохраняемости набора записей XML.

Вы также можете сохранить набор записей в формате XML в экземпляре объекта MSXML DOM, как показано в следующем коде Visual Basic:

Примечание.

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

Набор записей, сохраненный в формате XML, сохраняется в формате UTF-8. При загрузке такого файла в Stream ADO объект Stream не будет пытаться открыть набор записей из потока, если свойство Charset потока не имеет соответствующего значения для формата UTF-8.