Objeto Recordset (ADO)
Representa todo o conjunto de registros de uma tabela base ou os resultados de um comando executado. A qualquer momento, o objeto recordset refere-se a apenas um único registro dentro do conjunto como o registro atual.
Observações
Você usa objetos Recordset para manipular dados de um provedor. Ao usar o ADO, você manipula dados quase inteiramente usando objetos recordset. Todos os objetos Recordset consistem em registros (linhas) e campos (colunas). Dependendo da funcionalidade com suporte do provedor, algumas métodos ou propriedades do Recordset podem não estar disponíveis.
ADODB. Recordset é o ProgID que deve ser usado para criar um recordset objeto. Aplicativos existentes que fazem referência ao ADOR desatualizado. O Recordset ProgID continuará funcionando sem recompilar, mas o novo desenvolvimento deve fazer referência ao ADODB. Conjunto de registros.
Há quatro tipos de cursor diferentes definidos no ADO:
de cursor dinâmico permite exibir adições, alterações e exclusões por outros usuários; permite todos os tipos de movimentação por meio do conjunto de registros que não dependem de indicadores; e permite indicadores se o provedor dá suporte a eles.
o cursor de conjunto de chaves Se comporta como um cursor dinâmico, exceto que ele impede que você veja registros que outros usuários adicionam e impede o acesso aos registros que outros usuários excluem. As alterações de dados de outros usuários ainda estarão visíveis. Ele sempre dá suporte a indicadores e, portanto, permite todos os tipos de movimentação por meio do Recordset.
de cursor estático fornece uma cópia estática de um conjunto de registros para você usar para localizar dados ou gerar relatórios; sempre permite indicadores e, portanto, permite todos os tipos de movimentação por meio do conjunto de registros . Adições, alterações ou exclusões por outros usuários não estarão visíveis. Esse é o único tipo de cursor permitido quando você abre um objeto recordset do lado do cliente.
de cursor somente para encaminhamento permite que você role apenas para frente pela do conjunto de registros. Adições, alterações ou exclusões por outros usuários não estarão visíveis. Isso melhora o desempenho em situações em que você precisa fazer apenas uma única passagem por um Recordset.
Defina a propriedade CursorType antes de abrir o Recordset para escolher o tipo de cursor ou passe um argumento CursorType com o método Open. Alguns provedores não dão suporte a todos os tipos de cursor. Verifique a documentação do provedor. Se você não especificar um tipo de cursor, o ADO abrirá um cursor somente para encaminhamento por padrão.
Se a propriedade CursorLocation estiver definida como adUseClient para abrir um Recordset, a propriedade UnderlyingValue em objetos Field não estará disponível no objeto recordset de retornado. Quando usado com alguns provedores (como o Provedor ODBC da Microsoft para OLE DB em conjunto com o Microsoft SQL Server), você pode criar objetos Recordset independentemente de um objeto Connection definido anteriormente passando uma cadeia de conexão com o método Open. O ADO ainda cria um objeto Connection, mas não atribui esse objeto a uma variável de objeto. No entanto, se você estiver abrindo vários objetos Recordset pela mesma conexão, deverá criar e abrir explicitamente um objeto Connection; isso atribui o objeto Connection a uma variável de objeto. Se você não usar essa variável de objeto ao abrir seus objetos Recordset, o ADO criará um novo objeto Connection para cada novo recordset, mesmo se você passar a mesma cadeia de conexão.
Você pode criar quantos objetos Recordset necessários.
Quando você abre um conjunto de registros , o registro atual é posicionado para o primeiro registro (se houver) e as propriedades bof e EOF são definidas como False. Se não houver registros, as configurações de propriedade BOF e EOF serão True.
Você pode usar os métodos MoveFirst, MoveLast, MoveNexte MovePrevious; o método Move; e as propriedades AbsolutePosition, AbsolutePagee Filter para reposicionar o registro atual, supondo que o provedor dê suporte à funcionalidade relevante. Os objetos Recordset somente para encaminhamento dão suporte apenas ao método MoveNext. Ao usar os métodos Mover para visitar cada registro (ou enumerar a do conjunto de registros), você pode usar as propriedades BOF e EOF para determinar se você se moveu além do início ou do fim do do conjunto de registros.
Antes de usar qualquer funcionalidade de um objeto Recordset, você deve chamar o método Supports no objeto para verificar se a funcionalidade tem suporte ou está disponível. Você não deve usar a funcionalidade quando o dá suporte método retorna falso. Por exemplo, você pode usar o método MovePrevious somente se Recordset.Supports(adMovePrevious)
retornar True. Caso contrário, você receberá um erro, pois o recordset objeto pode ter sido fechado e a funcionalidade renderizada indisponível na instância. Se não houver suporte para um recurso no qual você está interessado, suporte retornará false também. Nesse caso, você deve evitar chamar a propriedade ou método correspondente no objeto recordset.
objetos do Recordset podem dar suporte a dois tipos de atualização: imediato e em lote. Na atualização imediata, todas as alterações nos dados são gravadas imediatamente na fonte de dados subjacente depois que você chama o método Update. Você também pode passar matrizes de valores como parâmetros com os métodos AddNew e Update e atualizar simultaneamente vários campos em um registro.
Se um provedor der suporte à atualização em lote, você poderá ter as alterações de cache do provedor em mais de um registro e transmiti-las em uma única chamada para o banco de dados com o método UpdateBatch. Isso se aplica às alterações feitas com os métodos AddNew, Updatee Delete. Depois de chamar o método UpdateBatch, você pode usar a propriedade Status para verificar se há conflitos de dados para resolvê-los.
Nota
Para executar uma consulta sem usar um objeto Command, passe uma cadeia de caracteres de consulta para o método Open de um objeto Recordset. No entanto, um objeto Command é necessário quando você deseja persistir o texto do comando e executá-lo novamente ou usar parâmetros de consulta.
A propriedade modo de rege as permissões de acesso.
A coleção Fields é o membro padrão do objeto Recordset. Como resultado, as duas instruções de código a seguir são equivalentes.
Debug.Print objRs.Fields.Item(0) ' Both statements print
Debug.Print objRs(0) ' the Value of Item(0).
Quando um objeto Recordset é passado entre processos, somente os valores de do conjunto de linhas são empacotados e as propriedades do objeto recordset são ignoradas. Durante o unmarshalling, o conjunto de linhas é descompactado em um objeto recordset recém-criado, que também define suas propriedades como os valores padrão.
O objeto Recordset é seguro para scripts.
Esta seção contém o tópico a seguir.
Consulte Também
do objeto de conexão (ADO)
da Coleção Fields (ADO)
da coleção Properties (ADO)
apêndice A : provedores