Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Abre um cursor em um objeto Recordset .
Sintaxe
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
Parâmetros
Fonte
Opcional. Uma Variant que é avaliada como um objeto Command válido, uma instrução SQL, um nome de tabela, uma chamada de procedimento armazenado, uma URL ou o nome de um arquivo ou objeto Stream que contém um Recordset armazenado persistentemente.
ConexãoAtiva
Opcional. Um Variant que é avaliado como um nome de variável de objeto connection válido ou uma cadeia de caracteres que contém parâmetros ConnectionString .
TipoDeCursor
Opcional. Um valor CursorTypeEnum que determina o tipo de cursor que o provedor deve usar ao abrir o Recordset. O valor padrão é adOpenForwardOnly.
Tipo de Bloqueio
Opcional. Um valor LockTypeEnum que determina que tipo de bloqueio (simultaneidade) o provedor deve usar ao abrir o Recordset. O valor padrão é adLockReadOnly.
Opções
Opcional. Um valor Long que indica como o provedor deve avaliar o argumento Source se ele representa algo diferente de um objeto Command ou se o Conjunto de Registros deve ser restaurado de um arquivo em que ele foi salvo anteriormente. Pode ser um ou mais valores CommandTypeEnum ou ExecuteOptionEnum , que podem ser combinados com um operador OR bit a bit.
Observação
Se você abrir um Recordset de um Fluxo que contém um Recordset persistente, usar um valor ExecuteOptionEnum de adAsyncFetchNonBlocking não terá efeito; a busca será síncrona e bloqueada.
Observação
Os valores ExecuteOpenEnum de adExecuteNoRecords ou adExecuteStream não devem ser usados com Open.
Observações
O cursor padrão de um Conjunto de Registros do ADO é um cursor somente encaminhamento, somente leitura, localizado no servidor.
Usar o método Open em um objeto Recordset abre um cursor que representa registros de uma tabela base, os resultados de uma consulta ou um Recordset salvo anteriormente.
Use o argumento Origem opcional para especificar uma fonte de dados usando uma das seguintes opções: uma variável de objeto Command , uma instrução SQL, um procedimento armazenado, um nome de tabela, uma URL ou um nome de caminho de arquivo completo. Se a origem for um nome de caminho de arquivo, ele poderá ser um caminho completo ("c:\dir\file.rst"), um caminho relativo (".. \file.rst" ou uma URL (https://files/file.rst).
Não é uma boa ideia usar o argumento Source do método Open para executar uma consulta de ação que não retorna registros porque não há uma maneira fácil de determinar se a chamada foi bem-sucedida. O conjunto de registros retornado por essa consulta será fechado. Para executar uma consulta que não retorna registros, como uma instrução SQL INSERT, chame o método Execute de um objeto Command ou o método Execute de um objeto Connection .
O argumento ActiveConnection corresponde à propriedade ActiveConnection e especifica em qual conexão abrir o objeto Recordset . Se você passar uma definição de conexão para esse argumento, o ADO abrirá uma nova conexão usando os parâmetros especificados. Depois de abrir o Recordset com um cursor do lado do cliente definindo a propriedade CursorLocation como adUseClient, você pode alterar o valor dessa propriedade para enviar atualizações para outro provedor. Ou você pode definir essa propriedade como Nothing (no Microsoft Visual Basic) ou NULL para desconectar o Recordset de qualquer provedor. No entanto, alterar o ActiveConnection para um cursor do lado do servidor gera um erro.
Para os outros argumentos que correspondem diretamente às propriedades de um objeto Recordset (Source, CursorType e LockType), a relação dos argumentos com as propriedades é a seguinte:
A propriedade é de leitura/gravação antes que o objeto Recordset seja aberto.
As configurações de propriedade são usadas, a menos que você passe os argumentos correspondentes ao executar o método Open . Se você passar um argumento, ele substituirá a configuração de propriedade correspondente e a configuração da propriedade será atualizada com o valor do argumento.
Depois de abrir o objeto Recordset , essas propriedades se tornam somente leitura.
Observação
A propriedade ActiveConnection é somente leitura para objetos Recordset cuja propriedade Source está definida como um objeto Command válido, mesmo que o objeto Recordset não esteja aberto.
Se você passar um objeto Command no argumento Source e também passar um argumento ActiveConnection , ocorrerá um erro. A propriedade ActiveConnection do objeto Command já deve ser definida como um objeto connection válido ou cadeia de conexão.
Se você passar algo diferente de um objeto Command no argumento Source , poderá usar o argumento Opções para otimizar a avaliação do argumento Source . Se o argumento Opções não estiver definido, você poderá experimentar um desempenho reduzido porque o ADO deve fazer chamadas ao provedor para determinar se o argumento é uma instrução SQL, um procedimento armazenado, uma URL ou um nome de tabela. Se você souber qual tipo de origem está usando, definir o argumento Opções instrui o ADO a ir diretamente para o código relevante. Se o argumento Opções não corresponder ao tipo de origem , ocorrerá um erro.
Se você passar um objeto Stream no argumento Source , não deverá passar informações para os outros argumentos. Isso gerará um erro. As informações do ActiveConnection não são retidas quando um conjunto de registros é aberto de um Stream.
O padrão para o argumento Options é adCmdFile se nenhuma conexão estiver associada ao Conjunto de Registros. Normalmente, esse será o caso de objetos Recordset armazenados persistentemente.
Se a fonte de dados não retornar registros, o provedor definirá as propriedades BOF e EOF como True e a posição atual do registro será indefinida. Você ainda poderá adicionar novos dados a esse objeto Recordset vazio se o tipo de cursor permitir.
Quando concluir suas operações em um objeto Recordset aberto, use o método Close para liberar todos os recursos do sistema associados. Fechar um objeto não o remove da memória; você pode alterar suas configurações de propriedade e usar o método Open para abri-lo novamente mais tarde. Para eliminar completamente um objeto da memória, defina a variável de objeto como Nothing.
Antes que a propriedade ActiveConnection seja definida, chame Open sem operandos para criar uma instância de um Conjunto de Registros criado acrescentando campos à coleção RecordsetFields .
Se você tiver definido a propriedade CursorLocation como adUseClient, poderá recuperar linhas de forma assíncrona de uma das duas maneiras. O método recomendado é definir Opções como adAsyncFetch. Como alternativa, você pode usar a propriedade dinâmica "Processamento de conjunto de linhas assíncrona" na coleção Propriedades , mas os eventos recuperados relacionados poderão ser perdidos se você não definir o parâmetro Options como adAsyncFetch.
Observação
A busca em segundo plano no provedor ms remoto só tem suporte por meio do parâmetro Opções do método Open.
Observação
As URLs que usam o esquema http invocarão automaticamente o provedor Microsoft OLE DB para publicação na Internet. Para obter mais informações, consulte URLs absolutas e relativas.
Determinadas combinações de valores CommandTypeEnum e ExecuteOptionEnum não são válidas. Para obter informações sobre quais opções não podem ser combinadas, consulte os tópicos para ExecuteOptionEnum e CommandTypeEnum.
Aplica-se a
do objeto Recordset (ADO)
Consulte Também
exemplo de métodos abertos e fechados (VB)
exemplo de métodos abertos e fechados (VBScript)
exemplo de métodos abertos e fechados (VC++)
exemplo de métodos Save e Open (VB)
método open (conexão ADO)
método Open (Registro do ADO)
do método Open (Fluxo do ADO)
método OpenSchema
salvar método