Fórum Verificar se já está no ClientdataSet #325830
22/07/2006
0
tentei colocar no envento BeforePost da CLientDataSet uma rotina que varre o ClientDataSet, mas não deu certo e ocorre o seguinte erro: Stack overflow.
acho que uma solução poderia ser clonar o clientdataset e fazer a varredura no clone. mas como faço isso?
Raserafim
Curtir tópico
+ 0Posts
22/07/2006
Macario
Uma opção seria utilizar a propriedade IndexFieldName, indicando a chave da pesquisa.
E depois pode utilizar, FindKey, ou o conjunto SetKey + Gotokey, para efetuar a pesquisa; 8)
Gostei + 0
22/07/2006
Raserafim
Gostei + 0
22/07/2006
Bruno Belchior
Gostei + 0
24/07/2006
Raserafim
Gostei + 0
24/07/2006
Andremuller
cdsClone.Data := cdsPrincipal.Data;
Depois para localizar o registro preferencialmente fazer o que o Macario disse. Caso não seja possível também dá para usar um Locate, que apesar de mais lento que o FindKey ainda é melhor que percorrer todos registros.
Gostei + 0
12/08/2006
Raserafim
ou seja, como localizar o próximo registro com o mesmo critério?
Gostei + 0
14/08/2006
Andremuller
Sendo assim, após dar o locate, se achou, exclui o registro do client e dá um novo locate.
Sempre lembrando que é muito melhor dar um find key caso seja possível
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)