Partilhar via


Método Save

Salva o Recordset em um arquivo ou em um objeto Stream.

Sintaxe

  
recordset.Save Destination, PersistFormat  

Parâmetros

Destino
Opcional. Um Variant que representa o nome completo do caminho do arquivo em que o Recordset deve ser salvo ou uma referência a um objeto Stream.

PersistFormat
Opcional. Um valor PersistFormatEnum que especifica o formato em que o Recordset deve ser salvo (XML ou ADTG). O valor padrão é adPersistADTG.

Comentários

O método Save Method só pode ser invocado em um Recordset aberto. Use o método Open Method (ADO Recordset) para restaurar posteriormente o Recordset no Destination.

Se a propriedade Filter Property estiver em vigor para o Recordset, somente as linhas acessíveis no filtro serão salvas. Se o Recordset for hierárquico, o Recordset filho atual e os respectivos filhos serão salvos, incluindo o Recordset pai. Se o método Save de um Recordset filho for chamado, o filho e todos os respectivos filhos serão salvos, mas o pai não.

Na primeira vez que você salva o Recordset, é opcional especificar o Destination. Se você omitir Destination, um arquivo será criado com um nome definido como o valor da propriedade Source do Recordset.

Omita Destination ao chamar Save posteriormente, após o primeiro salvamento ou ocorrerá um erro em tempo de execução. Se, posteriormente, você chamar Save com um novo Destination, o Recordset será salvo no novo destino. No entanto, o novo destino e o destino original serão abertos.

Save não fecha o Recordset nem o Destination. Portanto, você pode continuar trabalhando com o Recordset e salvar as alterações mais recentes. O Destination permanece aberto até que o Recordset seja fechado.

Por motivos de segurança, o método Save só permite o uso de configurações de segurança baixas e personalizadas de um script executado pelo Microsoft Internet Explorer.

Se o método Save for chamado enquanto uma operação assíncrona de busca, execução ou atualização de Recordset estiver em andamento, Save aguardará até que a operação assíncrona seja concluída.

Os registros são salvos começando na primeira linha do Recordset. Quando o método Save é concluído, a posição da linha atual é movida para a primeira linha do Recordset.

Para obter melhores resultados, defina a propriedade CursorLocation Property (ADO) como adUseClient com Save. Se o provedor não der suporte a todas as funcionalidades necessárias para salvar objetos Recordset, o Serviço de Cursor fornecerá essa funcionalidade.

Quando um Recordset é persistente com a propriedade CursorLocation definida como adUseServer, a funcionalidade de atualização do Recordset fica limitada. Normalmente, somente as atualizações de tabela única, as inserções e as exclusões são permitidas (dependentes da funcionalidade do provedor). O método Resync Method também não está disponível nessa configuração.

Observação

Não há suporte para salvar um Recordset com Fields do tipo adVariant, adIDispatch ou adIUnknown na ADO e isso pode causar resultados imprevisíveis.

Somente os Filtros na forma de Cadeias de Caracteres de Critérios (por exemplo, OrderDate > '12/31/1999') afetam o conteúdo de um Recordset persistente. Os Filtros criados com uma Matriz de Indicadores ou com o uso de um valor de FilterGroupEnum não afetam o conteúdo do Recordset persistente. Essas regras se aplicam ao Recordsetcriado com cursores do lado do cliente ou do servidor.

Como o parâmetro Destination pode aceitar qualquer objeto que dê suporte à interface OLE DB IStream, você pode salvar um Recordset diretamente no objeto Response do ASP. Para obter mais detalhes, confira o Cenário de Persistência do XML Recordset.

Você também pode salvar um Recordset no formato XML em uma instância de um objeto DOM MSXML, conforme mostrado no seguinte código do 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.  
...  

Observação

Duas limitações se aplicam ao salvar Recordsets hierárquicos (formas de dados) no formato XML. Não é possível salvar em XML caso o Recordset hierárquico tenha atualizações pendentes, e você não pode salvar um Recordset hierárquico parametrizado.

Um Recordset salvo no formato XML é salvo usando o formato UTF-8. Quando esse arquivo é carregado em um Fluxo da ADO, o objeto Stream não tentará abrir um Recordset no fluxo, a menos que a propriedade Charset do fluxo seja definida como o valor apropriado para o formato UTF-8.

Aplica-se A

Consulte Também

Exemplo dos métodos Save e Open (VB)
Exemplo dos métodos Save e Open (VC++)
Método Open (Conjunto de registros ADO)
Método Open (Fluxo do ADO)
Método SaveToFile