[firebase-br] ApplyUpdates e Refresh

José Filho (UOL) jfilho.bg em uol.com.br
Ter Jul 4 15:04:25 -03 2006


Boa tarde, galera! Há algum tempo um problema vem me "atormentando as idéias".

Trabalho com Delphi 7, servidor Firebird 1.5 compilação 4870, e o trio SQLDataSet, DataSetProvider e ClientDataSet.

No momento em que aplico as atualizações (ApplyUpdates(-1)) e atualizo os dados que estão em cache (Refresh no ClientDataSet) o registro é desposicionado.

Obs. 1: O ponteiro volta pro primeiro registro do ClientDataSet quando este está indexado, por exemplo, pelo código que é chave primária. O índice é criado em cache na propriedade IndexDefs.

Obs. 2: O ponteiro vai pro último registro que estava na tela antes do Append, quando o ClientDataSet não está indexado. Por exemplo:

Código    Nome
        1    José Filho
        2    Fulano de Tal
        3    Dino da Silva Sauro
        5    Marcos Antônio
        4    Antônio Carlos

Observe que o código 5, pela lógica, deveria vir logo após o código 4, o que não ocorre após o ApplyUpdates e Refresh.

Agradeço desde já qualquer ajuda vida.

[ ]'s

José Filho
Barra do Garças-MT


Mais detalhes sobre a lista de discussão lista