Metodo Save

Salva il recordset in un file o in un oggetto Stream.

Sintassi

  
recordset.Save Destination, PersistFormat  

Parametri

Destinazione
facoltativo. Variant che rappresenta il nome di percorso completo del file in cui deve essere salvato il recordset o 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.

Commenti

Il metodo Save Method può essere richiamato solo su un recordset aperto. Usare il metodo Open (RECORDSET ADO) per ripristinare successivamente il recordset dalla destinazione.

Se la proprietà Filter Property è in vigore per il recordset, vengono salvate solo le righe accessibili sotto il filtro. Se il recordset è gerarchico, vengono salvati il recordset figlio corrente e i relativi elementi figlio, incluso il recordset padre. Se viene chiamato il metodo Save di un recordset figlio, 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 Destination. Se si omette Destination, verrà creato un nuovo file con un nome impostato sul valore della proprietà Source del recordset.

Omettere Destinazione quando successivamente si chiama Salva dopo il primo salvataggio. In caso contrario, si verificherà un errore di run-time. Se successivamente si chiama Salva con una nuova destinazione, il recordset viene salvato nella nuova destinazione. Tuttavia, la nuova destinazione e la destinazione originale saranno entrambe aperte.

Salva non chiude il recordset o la destinazione, pertanto è possibile continuare a usare il 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 bassa e personalizzata da uno script eseguito da Microsoft Internet Explorer.

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

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, il servizio cursore fornirà tale funzionalità.

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

Nota

Il salvataggio di un 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 > '31/12/1999') influiscono sul contenuto di un recordset persistente. I filtri creati con una matrice di segnalibri o usando un valore di FilterGroupEnum non influiranno sul contenuto del recordset persistente. Queste regole si applicano ai recordset creati con cursori lato client o lato server.

Poiché il parametro Destination può accettare qualsiasi oggetto che supporta l'interfaccia IStream OLE DB, è possibile salvare un recordset direttamente nell'oggetto ASP Response. Per altri dettagli, vedere Lo scenario di persistenza del recordset XML.

È anche possibile salvare un 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 recordset gerarchici (forme dati) in formato XML, si applicano due limitazioni. Non è possibile salvare in XML se il recordset gerarchico contiene aggiornamenti in sospeso e non è possibile salvare un recordset gerarchico con parametri.

Un recordset salvato in formato XML viene salvato usando il formato UTF-8. Quando un file di questo tipo viene caricato in un flusso ADO, l'oggetto Stream non tenterà di 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 di metodi Save e Open (VB)
Esempio di metodi Save e Open (VC++)
Metodo Open (recordset ADO)
Metodo Open (flusso ADO)
Metodo SaveToFile