Save-Methode
Speichert das Recordset- in einer Datei oder Stream-Objekt.
Syntax
recordset.Save Destination, PersistFormat
Parameter
Ziel-
Wahlfrei. Ein Variant-, der den vollständigen Pfadnamen der Datei darstellt, in der das Recordset- gespeichert werden soll, oder ein Verweis auf ein Stream-Objekt.
PersistFormat-
Wahlfrei. Ein PersistFormatEnum Wert, der das Format angibt, in dem das Recordset- gespeichert werden soll (XML oder ADTG). Der Standardwert ist adPersistADTG.
Bemerkungen
Die Save-Methode Methode kann nur für ein geöffnetes Recordset-aufgerufen werden. Verwenden Sie die Open-Methode (ADO Recordset) Methode, um das Recordset von Destinationwiederherzustellen.
Wenn die Filtereigenschaft Eigenschaft für das Recordsetwirksam ist, werden nur die Zeilen gespeichert, auf die unter dem Filter zugegriffen werden kann. Wenn das Recordset- hierarchisch ist, werden das aktuelle untergeordnete Recordset und die untergeordneten Elemente gespeichert, einschließlich des übergeordneten Recordset-. Wenn die Save-Methode eines untergeordneten Recordset- aufgerufen wird, werden das untergeordnete Element und alle untergeordneten Elemente gespeichert, aber das übergeordnete Element ist nicht.
Wenn Sie das Recordset-zum ersten Mal speichern, ist es optional, Ziel-anzugeben. Wenn Sie Destinationweglassen, wird eine neue Datei mit einem Namen erstellt, der auf den Wert der Source-Eigenschaft des Recordsetfestgelegt ist.
Lassen Sie Ziel- aus, wenn Sie anschließend Save nach dem ersten Speichern aufrufen, oder tritt ein Laufzeitfehler auf. Wenn Sie anschließend Save mit einem neuen Destinationaufrufen, wird das Recordset- am neuen Ziel gespeichert. Das neue Ziel und das ursprüngliche Ziel sind jedoch geöffnet.
Speichern schließt das Recordset- oder Ziel-nicht, sodass Sie weiterhin mit dem Recordset- arbeiten und Die neuesten Änderungen speichern können. Ziel- bleibt geöffnet, bis das Recordset- geschlossen ist.
Aus Sicherheitsgründen erlaubt die Save-Methode nur die Verwendung von niedrigen und benutzerdefinierten Sicherheitseinstellungen aus einem Skript, das von Microsoft Internet Explorer ausgeführt wird.
Wenn die Save-Methode aufgerufen wird, während ein asynchrones Recordset Abruf-, Ausführungs- oder Aktualisierungsvorgang ausgeführt wird, wartet Speichern wartet, bis der asynchrone Vorgang abgeschlossen ist.
Datensätze werden beginnend mit der ersten Zeile des Recordset-gespeichert. Wenn die Save-Methode abgeschlossen ist, wird die aktuelle Zeilenposition in die erste Zeile des Recordsetverschoben.
Legen Sie für optimale Ergebnisse die CursorLocation-Eigenschaft (ADO) Eigenschaft auf adUseClient- mit Savefest. Wenn Ihr Anbieter nicht alle funktionen unterstützt, die zum Speichern Recordset-Objekte erforderlich sind, stellt der Cursordienst diese Funktionalität bereit.
Wenn ein Recordset- mit der CursorLocation-Eigenschaft beibehalten wird, die auf adUseServer-festgelegt ist, ist die Updatefunktion für das Recordset- eingeschränkt. In der Regel sind nur Aktualisierungen, Einfügungen und Löschungen mit einer Tabelle zulässig (abhängig von der Anbieterfunktionalität). Die Resync-Methode Methode ist in dieser Konfiguration ebenfalls nicht verfügbar.
Anmerkung
Das Speichern eines Recordset- mit Fields vom Typ adVariant, adIDispatch-oder adIUnknown- wird von ADO nicht unterstützt und kann zu unvorhersehbaren Ergebnissen führen.
Nur Filter in Form von Kriterienzeichenfolgen (z. B. OrderDate > '12/31/1999') wirken sich auf den Inhalt eines gespeicherten Recordset-aus. Filter, die mit einem Array von Lesezeichen oder mithilfe eines Werts aus der FilterGroupEnum- erstellt werden, wirken sich nicht auf den Inhalt des gespeicherten Recordsetaus. Diese Regeln gelten für Recordset-, die mit clientseitigen oder serverseitigen Cursorn erstellt wurden.
Da der parameter Destination jedes Objekt akzeptieren kann, das die OLE DB IStream-Schnittstelle unterstützt, können Sie ein Recordset- direkt im ASP Response-Objekt speichern. Weitere Informationen finden Sie im XML Recordset Persistence Scenario.
Sie können auch ein Recordset- im XML-Format in einer Instanz eines MSXML DOM-Objekts speichern, wie im folgenden Visual Basic-Code dargestellt:
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.
...
Anmerkung
Beim Speichern hierarchischer Recordsets (Daten-Shapes) im XML-Format gelten zwei Einschränkungen. Sie können nicht in XML speichern, wenn das hierarchische Recordset- ausstehende Aktualisierungen enthält, und Sie können kein parametrisiertes hierarchisches Recordset-speichern.
Ein Recordset im XML-Format gespeichert wird, wird im UTF-8-Format gespeichert. Wenn eine solche Datei in einen ADO-Stream geladen wird, versucht das Stream-Objekt nicht, ein Recordset- aus dem Datenstrom zu öffnen, es sei denn, die Charset-Eigenschaft des Datenstroms wird auf den entsprechenden Wert für das UTF-8-Format festgelegt.
Gilt für
Siehe auch
Save- und Open-Methoden (Beispiel) (VB)
Save- und Open-Methoden (Beispiel) (VC++)
Open-Methode (ADO-Recordset)
Open-Methode (ADO Stream)
SaveToFile-Methode