Metodo Save

Salva l'oggetto Recordset in un file o in un oggetto Stream.

Sintassi

  
recordset.Save Destination, PersistFormat  

Parametri

Destinazione
facoltativo. Valore Variant che rappresenta il nome del percorso completo del file in cui salvare il Recordset oppure un riferimento a un oggetto Stream.

PersistFormat
facoltativo. Valore PersistFormatEnum che specifica il formato in cui salvare il Recordset (XML o ADTG). Il valore predefinito è adPersistADTG.

Osservazioni

Il metodo Save può essere richiamato solo in un oggetto Recordset aperto. Usare il metodo Open Method (ADO Recordset) per ripristinare in un secondo momento l'oggetto Recordset da Destination.

Se la proprietà Filter è applicata per l'oggetto Recordset, vengono salvate solo le righe accessibili nel filtro. Se l'oggetto Recordset è gerarchico, il Recordset figlio corrente e i relativi elementi figlio vengono salvati, incluso il Recordset padre. Se viene chiamato il metodo Save di un elemento figlio Recordset, vengono salvati l'elemento figlio e tutti i relativi elementi figlio, ma non l'elemento padre.

La prima volta che si salva il Recordset, è facoltativo specificare il parametro Destinazione. Se si omette Destinazione, verrà creato un nuovo file con un nome impostato sul valore della proprietà Source dell'oggetto Recordset.

Omettere il parametro Destinazione quando si effettua una chiamata al metodo Save dopo il primo salvataggio, in caso contrario si verificherà un errore di run-time. Se successivamente si effettua una chiamata al metodo Save con una nuova Destinazione, Recordset viene salvato nella nuova destinazione. La nuova destinazione e quella originale, tuttavia, saranno entrambe aperte.

L'esecuzione del metodo Save non chiude Recordset o Destinazione, quindi è possibile continuare a usare l'oggetto Recordset e salvare le modifiche più recenti. La Destinazione rimane aperta fino alla chiusura del Recordset.

Per motivi di sicurezza, il metodo Save consente solo l'uso di impostazioni di sicurezza basse e personalizzate da uno script eseguito con Microsoft Internet Explorer.

Se il metodo Save viene chiamato mentre è in corso un'operazione asincrona di recupero, esecuzione o aggiornamento di Recordset, il metodo Save attende il completamento dell'operazione.

I record vengono salvati a partire dalla prima riga del Recordset. Al termine del metodo Save, la posizione della riga corrente viene spostata nella prima riga del Recordset.

Per ottenere risultati ottimali, impostare la proprietà CursorLocation Property (ADO) su adUseClient con Save. Se il provider non supporta tutte le funzionalità necessarie per salvare gli oggetti Recordset, Cursor Service fornirà tale funzione.

Quando un Recordset viene reso persistente impostando la proprietà CursorLocation su adUseServer, la funzionalità di aggiornamento dell'oggetto Recordset è limitata. In genere, sono consentiti solo gli aggiornamenti, gli inserimenti e le eliminazioni di una singola tabella (a seconda delle funzionalità del provider). Anche il metodo Resync Method non è disponibile in questa configurazione.

Nota

Il salvataggio di un oggetto Recordset con Campi di tipo adVariant, adIDispatch o adIUnknown non è supportato da ADO e può causare risultati imprevedibili.

Solo i filtri sotto forma di stringhe di criteri, ad esempio OrderDate > '12/31/1999', influiscono sul contenuto di un oggetto Recordset persistente. I filtri creati con una matrice di Segnalibri o con un valore da FilterGroupEnum, non influiscono sul contenuto dell'oggetto Recordset memorizzato in modo permanente. Queste regole si applicano agli oggetti Recordset creati con cursori lato client o lato server.

Poiché il parametro Destinazione può accettare qualsiasi oggetto che supporti l'interfaccia IStream di OLE DB, è possibile salvare un Recordset direttamente nell'oggetto Response di ASP. Per altre informazioni, vedere Scenario di persistenza di recordset XML.

È anche possibile salvare un oggetto Recordset in formato XML in un'istanza di un oggetto DOM MSXML, come illustrato nel codice Visual Basic seguente:

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

Quando si salvano oggetti Recordset gerarchici (forme dati) in formato XML, si applicano due limitazioni. Non è possibile salvare in XML se l'oggetto Recordset gerarchico contiene aggiornamenti in sospeso e non è possibile salvare un oggetto Recordset gerarchico con parametri.

È possibile salvare un Recordset in formato XML usando il formato UTF-8. Quando tale file viene caricato in un flusso ADO, l'oggetto Stream non proverà ad aprire un Recordset dal flusso, a meno che la proprietà Charset del flusso non sia impostata sul valore appropriato per il formato UTF-8.

Si applica a

Vedere anche

Esempio dei metodi Save e Open (VB)
Esempio dei metodi Save e Open (VC++)
Metodo Open (Recordset - ADO)
Metodo Open (Stream - ADO)
Metodo SaveToFile