Este artigo apresenta principalmente a explicação detalhada dos parâmetros do método adodb.recordset.open(rs.open) Amigos necessitados podem consultá-lo.
Objeto conjunto de registros ADO
O objeto ADO Recordset é usado para armazenar um conjunto de registros de uma tabela de banco de dados. Um objeto Recordset consiste em registros e colunas (campos).
No ADO, esse objeto é o objeto mais importante e mais comumente usado para operar nos dados do banco de dados.
ID do programa
definir objRecordset=Server.CreateObject(ADODB.recordset)
Quando você abre um Recordset pela primeira vez, o ponteiro do registro atual apontará para o primeiro registro e as propriedades BOF e EOF serão False. Se não houver registros, as propriedades BOF e EOF serão True.
Os objetos Recordset podem suportar dois tipos de atualizações:
Atualização imediata – Depois que o método Update é chamado, todas as alterações são gravadas no banco de dados imediatamente. Atualização em lote – o provedor armazenará em cache várias alterações e, em seguida, transferirá essas alterações para o banco de dados usando o método UpdateBatch.
No ADO, são definidos 4 tipos diferentes de cursor (ponteiro):
•Cursores Dinâmicos - Permitem visualizar adições, alterações e exclusões feitas por outros usuários
•Cursor de Conjunto de Chaves - Semelhante a um cursor dinâmico, exceto que você não pode ver as adições feitas por outros usuários e impede o acesso a registros que foram excluídos por outros usuários. As alterações de dados feitas por outros usuários ainda estarão visíveis.
•Cursor estático - Fornece uma cópia estática de um conjunto de registros que pode ser usada para localizar dados ou gerar relatórios. Além disso, adições, alterações e exclusões feitas por outros usuários não serão visíveis. Este é o único tipo de cursor permitido quando você abre um objeto Recordset cliente.
• Somente cursor para frente - permite apenas a rolagem para frente no conjunto de registros. Além disso, adições, alterações e exclusões feitas por outros usuários não serão visíveis.
O tipo de cursor pode ser definido através da propriedade CursorType ou do parâmetro CursorType no método Open.
Nota: Nem todos os provedores oferecem suporte a todos os métodos e propriedades do objeto Recordset.
Amigos que desejam saber mais sobre objetos ADO Recordset podem acessar aqui para visualizar mais conteúdo.
Se for apenas leitura e não envolver operações de atualização, use 1, 1
Se envolver operações de leitura e atualização, você pode usar 1,3 ou 3,2
Protótipo de método aberto do objeto Recordset:
Open([Fonte],[ActiveConnection],[CursorType],[LockType],[Opções])
CursorType Tipo de cursor:
Const adOpenForwardOnly = 0
O cursor de avanço é o cursor padrão e fornece o desempenho de execução mais rápido. Use-o para abrir o conjunto de registros e obter todos os resultados em ordem, do par ao final. Ele não suporta rolagem para trás e permite apenas movimento unidirecional entre os resultados.
Const adOpenKeyset = 1
Um cursor estático reflete o status dos dados na tabela quando o cursor é aberto pela primeira vez. O cursor não consegue descobrir se as linhas de dados na tabela subjacente foram atualizadas, excluídas ou se novos dados foram adicionados. No entanto, diferentemente dos cursores continentais, que só podem avançar, os cursores estáticos podem rolar para frente e para trás entre os resultados.
Const adOpenDynamic = 2
Os cursores controlados pelo teclado podem consultar algumas, mas não todas, alterações nas linhas de dados subjacentes em uma tabela. Em particular, reflete com precisão se os dados foram atualizados. Mas ele não consegue descobrir se outros usuários excluíram linhas de dados (as linhas de dados excluídas deixarão lacunas no conjunto de registros). Os cursores controlados pelo teclado suportam a rolagem para frente e para trás nos resultados.
Const adOpenStatic = 3
Cursores dinâmicos são o tipo de cursor mais rico. Quando o cursor está aberto, você pode consultar quaisquer alterações feitas na tabela por outros usuários e oferecer suporte à rolagem.
Tipo LockTypeLock:
Const adLockReadOnly = 1
O tipo de bloqueio padrão, bloqueio somente leitura, permite que vários usuários leiam os mesmos dados ao mesmo tempo, mas não podem alterar os dados.
Const adLockPessimista = 2
Abra o objeto de dados com bloqueio pessimista. Essa abordagem pressupõe que outros usuários terão acesso aos dados enquanto você edita o registro. Neste ponto, quando você começar a editar um registro, outros usuários não poderão acessar os dados.
Const adLockOptimistic = 3
Abra o objeto de dados usando bloqueio otimista. Essa abordagem pressupõe que nenhum outro usuário acessará os dados enquanto você edita o registro. Outros usuários não poderão acessar o registro até que alterações sejam feitas.
Const adLockBatchOptimistic = 4
Use este tipo ao realizar atualizações em lote de várias linhas
Parâmetros de opções:
O parâmetro Options indica o tipo de sequência de comandos usada para abrir o conjunto de registros. Informar ao ADO informações sobre o conteúdo da string que está sendo executada ajuda a executar a string de comando com eficiência.
adCMDTable. A string que está sendo executada contém o nome de uma tabela.
adCMDText. A string que está sendo executada contém um texto de comando.
adCMDStoredProc. A string que está sendo executada contém um nome de procedimento armazenado.
adCMDUDesconhecido. O conteúdo da string não é especificado. (Este é o valor padrão.)
Para simplificar:
RS.OPEN SQL,CONN,A,B
R: ADOPENFORWARDONLY (=0) é somente leitura e o registro de dados atual só pode ser movido para baixo
ADOPENSTATIC (=3) somente leitura, o registro de dados atual pode ser movido livremente
ADOPENKEYSET(=1) pode ser lido e gravado, e o registro de dados atual pode ser movido livremente
ADOPENDYNAMIC(=2) pode ser lido e gravado, o registro de dados atual pode ser movido livremente e novos registros podem ser vistos
B: Valor padrão ADLOCKREADONLY(=1), usado para abrir registros somente leitura
ADLOCKPESSIMISTIC(=2) bloqueio pessimista
ADLOCKOPTIMISTIC(=3) bloqueio otimista
ADLOCKBATCHOPTIMISTIC(=4) bloqueio otimista em lote