Hoje vamos falar sobre as propriedades do objeto Recordset
1. Atributo CursorType
AdOpenForwardOnly: Somente cursor de avanço, valor padrão. O mesmo que um cursor estático, exceto que só pode rolar para frente nos registros. Use-o para melhorar o desempenho quando for necessária apenas a movimentação unidirecional no conjunto de registros. (Como o nome indica, este cursor só pode avançar. No entanto, devido à sua funcionalidade limitada, é muito eficiente quando utilizado com recursos do sistema.)
AdOpenKeyset: cursor do conjunto de chaves. Embora os registros excluídos por outros usuários não possam ser acessados no conjunto de registros, os cursores do conjunto de chaves são semelhantes aos cursores dinâmicos, exceto pelo fato de que os registros adicionados por outros usuários não podem ser visualizados. Os dados alterados por outros usuários ainda podem ser vistos. (Um cursor KeySet permite ver as alterações feitas por outros usuários desde que foi criado, mas você não pode ver os registros adicionados ou excluídos por outros usuários.)
AdOpenDynamic: cursor dinâmico. Pode ver adições, alterações e exclusões feitas por outros usuários. Todos os tipos de movimentos dentro do conjunto de registros são permitidos, exceto operações de marcadores que não são suportadas pelo provedor. (Esse tipo de cursor é poderoso e consome a maior parte dos recursos do sistema. Os cursores dinâmicos podem ver todas as alterações nas coleções de registros que salvam. Os usuários que usam cursores dinâmicos podem ver as edições, adições e exclusões feitas por outros usuários. Se os provedores de dados que permitir que esse tipo de cursor suporte essa visibilidade recuperando dados da fonte de dados em intervalos regulares exigirá, sem dúvida, muitos recursos.)
AdOpenStatic: cursor estático. Uma cópia estática de uma coleção de registros que pode ser usada para localizar dados ou gerar relatórios. Além disso, as adições, alterações ou exclusões feitas por outros usuários não são visíveis. (Um cursor de classe Static é apenas um instantâneo dos dados. Ou seja, ele não pode ver as alterações feitas no RecordSet por outros usuários desde que foi criado. Com esse tipo de cursor, você pode navegar para frente e para trás. Devido à sua simplicidade, Os requisitos de recursos são menores que os Dinâmicos!)
Nota: Depois que o RecordSet for aberto, você não poderá alterar a propriedade CursorType. No entanto, se você primeiro fechar o RecordSet, alterar a propriedade CursorType e reabrir o RecordSet, ainda poderá alterar efetivamente o tipo do cursor!
2. Atributo LockType Em qualquer aplicativo de banco de dados que possa ser modificado por vários usuários ao mesmo tempo, você deve lidar com a situação que pode ocorrer quando vários usuários operam no mesmo registro ao mesmo tempo. Quando isso acontece, a integridade dos dados fica comprometida porque um usuário pode, sem saber, substituir as alterações de outra pessoa ao salvar as suas próprias. Nesse momento, você sentirá como se não estivesse fazendo nada. Para lidar com esta situação. O ADO permite determinar o tipo de controle de eventos simultâneos ao atualizar um objeto RecordSet e como bloquear registros por um usuário enquanto ele está editando. Isso é determinado pelo atributo LockType. Este atributo tem quatro valores:
adLockReadonly: valor padrão, somente leitura. Os dados não podem ser alterados. (Esse é o valor padrão de RecordSet. Se você definir o método de bloqueio para esse valor, não será possível atualizar o Recordset.)
adLockPessimistic: Bloqueio conservador de registros (entrada por entrada). O provedor executa as ações necessárias para garantir a edição bem-sucedida do registro, normalmente bloqueando imediatamente o registro na fonte de dados após a edição. (Se definido para esse tipo de bloqueio, o registro será bloqueado e só poderá ser acessado por usuários que editam entre o momento em que a edição é iniciada e quando a atualização do registro é enviada ao provedor de dados!)
adLockOptimistic: bloqueio de registro aberto (registro por registro). O provedor usa bloqueio aberto, bloqueando registros somente quando o método Update é chamado. (Os registros são bloqueados apenas no momento em que os dados são enviados ao provedor de dados.)
adlockBatchOptimistic: atualização em lote aberto. Usado para modo de atualização em lote em oposição ao modo de atualização imediata. (Um RecordSet definido para este tipo de modo de bloqueio será chamado de modo de atualização em lote do RecordSet. Ele pode acelerar a velocidade de atualização do RecordSet para modificar os dados, mas como vários registros são atualizados ao mesmo tempo, também irá piorar os problemas relacionados ao acesso simultâneo!)
3, propriedade AbsolutePage
O atributo AbsolutePage define o número da página onde o registro atual está localizado; use o atributo PageSize para dividir o objeto Recordset em páginas lógicas. O número de registros em cada página é PageSize (exceto que a última página pode ter menos que PageSize). número de registros). Deve-se observar aqui que nem todos os provedores de dados oferecem suporte a esse atributo, portanto, use-o com cautela.
Assim como a propriedade AbsolutePosition, a propriedade AbsolutePage começa com 1. Se o registro atual for a primeira linha do Recordset, AbsolutePage será 1. Você pode definir a propriedade AbsolutePage para mover para a primeira linha de registros em uma página especificada.
4. Atributo AbsolutePosition Se você precisar determinar a posição do indicador atual no RecordSet, poderá usar o atributo AbsolutePosition.
O valor do atributo AbsolutePosition é a posição do indicador atual em relação à primeira negociação, começando em 1, ou seja, a AbsolutePosition da primeira negociação é 1.
Observe que ao acessar um RecordSet, não há garantia de que o RecordSet aparecerá sempre na mesma ordem.
Para ativar AbsolutePosition, você deve primeiro configurá-lo para usar o cursor do cliente (ponteiro): rs.CursorLocation=3
5. Atributo PageCount Use o atributo PageCount para determinar quantas "páginas" de dados o objeto Recordset inclui. A "página" aqui é uma coleção de registros de dados com tamanho igual à configuração da propriedade PageSize. Mesmo que o número de registros na última página seja menor que o valor de PageSize, a última página também é considerada uma página de. Contagem de páginas. Deve-se notar que nem todos os provedores de dados suportam este atributo.
6. Atributo PageSize
O atributo PageSize é a chave para determinar como exibir páginas quando o ADO acessa o banco de dados. Você pode usá-lo para determinar quantos registros formam uma "página" lógica. Define e cria um tamanho de página que permite passar para o primeiro registro de outra página lógica utilizando a propriedade AbsolutePage. A propriedade PageSize pode ser definida a qualquer momento.
7. Atributo RecordCount Este também é um atributo importante e muito comumente usado. Freqüentemente usamos o atributo RecordCount para descobrir quantos registros um objeto Recordset contém. Use a propriedade RecordCount para determinar o número de registros em um objeto Recordset. Essa propriedade retorna –1 quando o ADO não consegue determinar o número de registros ou se o provedor ou o tipo de cursor não oferece suporte a RecordCount. Ler a propriedade RecordCount em um Recordset fechado gerará um erro. O tipo de cursor do objeto Recordset afeta se o número de registros pode ser determinado. A propriedade RecordCount retorna -1 para cursores somente de encaminhamento, a contagem real para cursores estáticos ou de conjunto de chaves e -1 ou a contagem real para cursores dinâmicos, dependendo da fonte de dados.
8. Atributos BOF e EOF Normalmente escrevemos código no programa ASP para verificar os atributos BOF e EOF, para saber a localização do RecordSet atualmente apontado pelo indicador. Usando os atributos BOF e EOF, podemos saber se um. O objeto Recordset contém registros ou Saiba se a linha de registro movida excedeu o intervalo do objeto Recordset.
Se a posição do registro atual for anterior à primeira linha de um objeto Recordset, a propriedade BOF retornará verdadeiro, caso contrário retornará falso.
Se a posição do registro atual for posterior à última linha de um objeto Recordset, a propriedade EOF retornará verdadeiro, caso contrário retornará falso.
(BOF e EOF são True, indicando que não há registros no RecordSet.)
9. O atributo Filter especifica condições de filtragem para os dados no Recordset Use o atributo Filter para bloquear seletivamente registros no objeto Recordset filtrado. se tornará o cursor atual.
Isso afetará outras propriedades baseadas no valor de retorno do cursor atual, como AbsolutePosition, AbsolutePage, RecordCount e PageCount, porque definir a propriedade Filter para um valor
específico
move o registro atual para o primeiro registro que satisfaça o novo valor.
Acho que esse atributo é bastante útil. Às vezes, depois de abrirmos o Recordset e fazermos certos julgamentos, queremos filtrar os registros, ou seja, reajustar a instrução SQL. Devemos fechar o Recordset e abri-lo com uma nova instrução SQL. Não, usamos o atributo Filter para filtrar, por exemplo
rs.open exec,conn,1,1
se .... então rs.filter="nome='xxx'"
em vez de
rs.open exec,conn,1,1
se...então
rs.fechar
exec=exec&" onde nome='xxx'"
rs.open exec,conn,1,1
terminar se
Na verdade, o filtro deve ser usado em muitos lugares. Isso será mencionado nas futuras habilidades de ASP.
Amanhã continuaremos falando sobre os métodos do objeto Recordset.