Refresh.... de refresco não tem nada.... Sniff....

Firebird

23/10/2003

Caríssimos colegas,

Comigo simplesmente não funciona o método Refresh do IBX !!!

Já atualizei para o 6.07

Já mudei a String do SQL pra ficar igual a do Select.

Já deixei como o proprio editor gera.

Não tem jeito, não atualiza os dados quando eu faço:

ibDataSet.Refresh;


Tenho que fazer isso:
ibDataSet.Close;
ibDataSet.Open;


Só assim atualiza porém não sei até onde isso não dá problema.

Espero uma ajuda de algum colega que saiba como resolver isso. Ou se não tem problema o que faço por favor me digam.

Grato,

Alex_ :)

------------------------------------------------------------------------------------

´Difícil programar? Sorte sua, se fosse fácil você teria infindáveis concorrentes´[/code]


Alex_

Alex_

Curtidas 0

Respostas

Afarias

Afarias

23/10/2003

Está havendo um pequeno equívoco aqui...

O Refresh funciona perfeitamente --- sendo q não da forma q vc acha q deveria! -- A função do método Refresh no IBX é atualizar apenas 1 registro (o registro corrente) -- isso é assim pois o IBX é projetado para sistemas cliente/servidor.

Sendo dessa forma, não use um SELECT no RefreshSQL q retorne mais q 1 registro (por ex: o RefreshSQL não pode ser igual ao seu SelectSQL) -- se vc reparar no SQL gerado pelo DataSet Editor ele faz um SELECT em cima da chave primária definida (WHERE) -- para garantir q sempre apenas 1 registro seja retornado e atualizado no buffer.


|Tenho que fazer isso: Código:
|ibDataSet.Close;
|ibDataSet.Open;

Se vc deseja atualizar TODOS os registros, esta é a forma correta de fazer.


|Só assim atualiza porém não sei até onde isso não dá problema.

Não há problema (a não ser de performance dependendo do uso e do caso).



T+


GOSTEI 0
Alex_

Alex_

23/10/2003

Entedi AFarias!

Obrigado.


GOSTEI 0
POSTAR