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


Метод Save

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

Синтаксис

  
recordset.Save Destination, PersistFormat  

Параметры

Назначение
Необязательный элемент. Тип Variant, представляющий полный путь к файлу, в котором должен быть сохранен набор записей, или ссылку на объект Stream.

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

Комментарии

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

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

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

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

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

По соображениям безопасности метод Save позволяет использовать только низкие и настраиваемые параметры безопасности из скрипта, выполняемого Microsoft Internet Обозреватель.

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

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

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

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

Примечание

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

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

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

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

Dim xDOM As New MSXML.DOMDocument  
Dim rsXML As New ADODB.Recordset  
Dim sSQL As String, sConn As String  
  
sSQL = "SELECT customerid, companyname, contactname FROM customers"  
sConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb"  
rsXML.Open sSQL, sConn  
rsXML.Save xDOM, adPersistXML   'Save Recordset directly into a DOM tree.  
...  

Примечание

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

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

Применение

См. также:

Примеры методов Save и Open (Visual Basic)
Примеры методов Save и Open (VC++)
Метод Open (объект Recordset ADO)
Метод Open (объект Stream ADO)
Метод SaveToFile