rs.open sql, conn, a, b
UM:
AdoneDowardoNly (= 0)
Somente leitura e o registro de dados atual só pode ser movido para baixo.
AddoenKeySet (= 1)
Somente leitura, o registro de dados atual pode ser movido livremente.
Adondynamic (= 2)
Legável e escrito, e o registro de dados atual pode ser movido livremente.
ADOUNSTATICATÁTICO (= 3)
Ele pode ser lido e escrito, o registro de dados atual pode ser movido livremente e novos registros podem ser vistos.
B:
Adlockreadonly (= 1)
O tipo de bloqueio padrão é somente leitura e os registros não podem ser modificados.
AdlockPessimistic (= 2)
O bloqueio pessimista, quando o registro for modificado, o provedor de dados tentará bloquear o registro para garantir uma edição bem -sucedida, bloqueando o registro imediatamente enquanto a edição começar.
Adlockoptimic (= 3)
Bloqueio otimista, o registro não está bloqueado até que o registro atualizado seja enviado usando o método de atualização.
AdlockbatchOtimistic (= 4)
O bloqueio otimista em lote permite que vários registros sejam modificados e os registros são bloqueados apenas quando o método de atualização em lote é chamado.
Quando nenhuma alteração em nenhum registro é necessária, um conjunto de registros somente leitura deve ser usado para que o provedor não precise fazer nenhuma detecção. Para uso geral, o bloqueio otimista pode ser a melhor opção, pois o registro é bloqueado por apenas um curto período de tempo e os dados são atualizados durante esse período. Isso reduz a utilização de recursos.
Os dados do provedor podem ser manipulados usando o objeto RecordSet. Ao usar o ADO, quase todos os dados podem ser operados através do objeto RecordSet. Todos os objetos RecordSet são construídos usando registros (linhas) e campos (colunas). Alguns métodos ou propriedades do RecordSet podem ser inválidos devido a diferentes recursos suportados pelo provedor.
Quatro tipos diferentes de cursor são definidos em ADO:
Cursor dinâmico? Usado para visualizar adições, alterações e exclusões feitas por outros usuários e para usar vários tipos de movimento em um conjunto de registros que não depende dos favoritos. Se suportado pelo provedor, os favoritos podem ser usados.
Cursor do Keyset? Seu comportamento é semelhante aos cursores dinâmicos. A única diferença é que proíbe a visualização de registros adicionados por outros usuários e proíbe o acesso a registros excluídos por outros usuários. As alterações de dados feitas por outros usuários ainda estarão visíveis. Ele sempre suporta os favoritos, permitindo assim vários tipos de movimento no registro.
Cursor estático? Fornece uma cópia estática da coleção de registros para encontrar dados ou gerar relatórios. Ele sempre suporta os favoritos, permitindo assim vários tipos de movimento no registro. Adições, alterações ou exclusão feitas por outros usuários não serão visíveis. Este é o único tipo de cursor que é permitido ao abrir um objeto Client (ADOR) RecordSet.
Apenas cursor para a frente? O comportamento é como um cursor estático, exceto que apenas permite rolagem para a frente em um registro. Isso melhora o desempenho quando o movimento unidirecional no registro é necessário.
Defina a propriedade CursorType para selecionar o tipo de cursor antes de abrir o RecordSet ou passe no parâmetro cursortype usando o método aberto. Alguns provedores não suportam todos os tipos de cursor. Verifique a documentação do provedor. Se nenhum tipo de cursor for especificado, o ADO ativará o cursor para a frente apenas por padrão.
Se a propriedade CursorLocation estiver definida como adusecliente e o RecordSet estiver ativado, a propriedade subjacente do objeto de campo não estará disponível no objeto RecordSet retornado. Para alguns provedores, como o provedor da Microsoft ODBC para o OLE DB, juntamente com o Microsoft SQL Server, você pode criar independentemente um objeto RecordSet com base no objeto de conexão definido anteriormente, passando a string de conexão usando o método aberto. A ADO ainda cria o objeto de conexão, mas não atribui o objeto à variável de objeto. No entanto, se vários objetos do RecordSet forem abertos na mesma conexão, o objeto de conexão deverá ser criado e aberto explicitamente, atribuindo assim o objeto de conexão à variável do objeto. Se a variável de objeto não for usada quando o objeto RecordSet for aberto, o ADO criará um novo objeto de conexão para cada novo conjunto de registros, mesmo quando a mesma cadeia de conexão for passada.