Compartir a través de


Save (método)

Guarda el objeto Recordset en un archivo o un objeto Stream.

Sintaxis

  
recordset.Save Destination, PersistFormat  

Parámetros

Destino
Opcional. Objeto Variant que representa el nombre de la ruta de acceso completa del archivo donde se va a guardar el objeto Recordset o una referencia a un objeto Stream.

PersistFormat
Opcional. Valor PersistFormatEnum que especifica el formato en el que se va a guardar el objeto Recordset (XML o ADTG). El valor predeterminado es adPersistADTG.

Comentarios

El método Save solo se puede invocar en un objeto Recordset abierto. Use el método Open (Recordset de ADO) para restaurar posteriormente el objeto Recordset desde Destination.

Si la propiedad Filter Property está aplicada para el objeto Recordset, solo se guardan las filas a las que se puede acceder con el filtro. Si el objeto Recordset es jerárquico, se guardan el objeto Recordset secundario actual y sus elementos secundarios, incluido el objeto Recordset primario. Si se llama al método Save de un objeto Recordset secundario, se guardan el elemento secundario y todos sus elementos secundarios, pero no el elemento primario.

La primera vez que guarde el objeto Recordset, es opcional especificar Destination. Si omite Destination, se creará un archivo con un nombre establecido en el valor de la propiedad Source del objeto Recordset.

Omita Destination cuando llame posteriormente a Save después de guardar por primera vez o, de lo contrario, se producirá un error en tiempo de ejecución. Si posteriormente llama a Save con un nuevo valor Destination, el objeto Recordset se guarda en el nuevo destino. Sin embargo, el nuevo destino y el destino original estarán abiertos.

Save no cierra el objeto Recordset ni Destination, por lo que puede seguir trabajando con el objeto Recordset y guardar los cambios más recientes. Destination permanece abierto hasta que se cierra el objeto Recordset.

Por motivos de seguridad, el método Save solo permite usar configuraciones de seguridad baja y personalizada de un script ejecutado por Microsoft Internet Explorer.

Si se llama al método Save mientras está en curso una operación asincrónica de recuperación de cambios, ejecución o actualización de Recordset, entonces Save espera hasta que se completa la operación asincrónica.

Los registros se guardan a partir de la primera fila del objeto Recordset. Cuando finalice el método Save, la posición de fila actual se mueve a la primera fila del objeto Recordset.

Para obtener los mejores resultados, establezca la propiedad CursorLocation Property (ADO) en adUseClient con Save. Si el proveedor no admite toda la funcionalidad necesaria para guardar objetos Recordset, el servicio de cursor proporcionará esa funcionalidad.

Cuando un objeto Recordset se almacena con la propiedad CursorLocation establecida en adUseServer, la funcionalidad de actualización del objeto Recordset está limitada. Normalmente, solo se permiten actualizaciones, inserciones y eliminaciones de una sola tabla (según la funcionalidad del proveedor). El método Resync Method tampoco está disponible en esta configuración.

Nota

El almacenamiento de un objeto Recordset con valores Fields de tipo adVariant, adIDispatch o adIUnknown no es compatible con ADO y puede provocar resultados impredecibles.

Solo los filtros en forma de cadenas de criterios (por ejemplo, OrderDate > '12/31/1999') afectan al contenido de un objeto Recordset persistente. Los filtros creados con una matriz de marcadores o con un valor de FilterGroupEnum no afectarán al contenido del objeto Recordset persistente. Estas reglas se aplican a los objetos Recordsetcreados con cursores del lado cliente o del lado servidor.

Dado que el parámetro Destination puede aceptar cualquier objeto que admita la interfaz IStream de OLE DB, puede guardar un objeto Recordset directamente en el objeto Response de ASP. Para obtener más información, consulte el Escenario de persistencia del conjunto de registros XML.

También puede guardar un objeto Recordset en formato XML en una instancia de un objeto DOM de MSXML, como se muestra en el siguiente código de 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.  
...  

Nota

Se aplican dos limitaciones al guardar objetos Recordsets jerárquicos (formas de datos) en formato XML. No se puede guardar como XML si el objeto Recordset jerárquico contiene actualizaciones pendientes y no se puede guardar un objeto Recordset jerárquico parametrizado.

Un objeto Recordset guardado en formato XML se guarda con formato UTF-8. Cuando este archivo se carga en una secuencia de ADO, el objeto Stream no intentará abrir un objeto Recordset desde la secuencia a menos que la propiedad Charset de la secuencia esté establecida en el valor adecuado para el formato UTF-8.

Se aplica a

Consulte también

Ejemplo de los métodos Save y Open (VB)
Ejemplo de los métodos Save y Open (VC++)
Open (método) (conjunto de registros ADO)
Open (método) (Stream de ADO)
Método SaveToFile