Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xanburzum

[Resolvido] Clonando conjuntos de Registros (recordset)

Recommended Posts

Imagine a situação onde será necessário fazer uma cópia exata de seus registros. Como você faria isso ?

 

 

Você poderia criar e abrir um outro objeto recordset, usando a mesma conexão e instrução SQL que a original, mas essa não é a format mais eficiente de fazer isso, e as mudanças em um recordset não seriam as mesma refletidas no outro.Alem disto, não há nenhuma garantia que ambos os conjuntos de registros iriam conter os mesmos dados, pois os dados da fonte poderiam ter sido mudados entre a criação dos dois. Com ADO você pode fazer isso de forma, isto se chama CLONAGEM O método clone permite a criação de uma copia exata, sincronizada de um obj RecordSet existente, é importante saber que este método não cria dois recordsets independentes, o que voce obtem, quando cria um clone , é uma cópia dos dados e dois ponteiros.Voce pode mover estes ponteiros independentemente e, como só há uma cópia dos dados as mudanças feitas através do ponteiro aparecem no outro.Isto acontece até você reconsulte o conjunto de registros original.Isto quebra o elo entre os dois – o conjunto de registros clonados não está mais sincronizado com o original – e então você tem duas cópias de dados.

 

Como Criar um Clone Há varias formas de clonar um conjunto de registros.A sintaxe geral para o método é:

 

Set rs_clone=rs_original.clone ([LockType])

Onde:

 

LockType – especifica o tipo de bloqueio para o novo clone.

 

Abaixo uma criação de clone com o mesmo tipo de bloqueio do seu progenitor.

 

Set rs_clone= rs.clone adLockUnspecified

Um valor LockTpeEnum de adLockUnspecified indica que os tipos de bloqueio devem ser os mesmos.Este valor é de default, então o código acima vai fazer a mesma tarefa que o seguinte:

 

Set rs_clone = rs.clone

O único valor válido para o parâmetro LockType é adLockReadOnly, que cria um clone somente de leitura.

 

Set rs_clone = rs.clone adLockReadOnly

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.