Fórum GotoBookMark ou Findkey #330028

25/09/2006

0

Uso ClientDataSets para ligar os componentes da interface com o banco de dados.
Tenho utilizado muitas rotinas que movem o ponteiro dos registros de um ponto determinado e, depois dessas rotinas executadas, preciso voltar àquele ponto.
Numa análise que fiz hoje no meu sistema, me deparei com duas rotinas diferentes que fazem a mesma coisa. Na primeira crio um TBookMark e depois dou um ClientDataSet.GotoBookMark(...). Na outra, gravo o valor do índice em uma variável de depois executo um ClientDataSet.FindKey([...]).
Ambos funcionam legal!
Alguém teria uma tese sobre qual desses procedimentos é o melhor e por que?

Obrigado.


Armindo

Armindo

Responder

Posts

26/09/2006

Raserafim

boa pergunta essa.

prefiro utilizar o bookmark, e acho que ele deve ser mais rápido, já que o modo de funcionamento dele é como se esse batesse uma foto da posição do cursos no momento, tendo então a chace de reposicionar o cursos em que precise fazer uma varedura. no entanto este método pode disparar uma exceção caso o dataset tenha sofrido alterações sérias.

já o findkey, como o próprio nome já diz, ele vai procurar um valor, ou seja, vai ter que varrer uma lista (apesar de ser bastante rápido já que se trata de um índice).

bom, mas assim como o Armindo, gostaria de uma explicação mais técnica.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar