Fórum delta do clientdataset #365795
03/11/2008
0
nesse cds vazio eu não quero visualizar todos os dados, apenas os dados alterados no outro.
Vitor Rubio
Curtir tópico
+ 0Post mais votado
05/11/2008
ao cair a conexão aparece uma opção para o usuario reconectar, e quando ele reconectar, se o changecount > 0 aparece uma form com um dbgrid mostrando onde o usuario estava. (posso fazer isso com o delta ou com o data do cds original)
Nessa tela o usuario tem a opção de salvar ou descartar.
Só que gerou um efeito estranho: se eu usar o delta, além de aparecer as linhas que eu alterei sem estarem alteradas, logo abaixo delas tem linhas só com as alterações feitas. Não sei como mergear isso. Mas se eu não mecher e dar o applyupdates, funciona!
Agora eu precisaria refazer isso, pois fui mudar o meu exemplo de ibx para dbExpress e não salvei a unica versão que funcionou....
valew!
Vitor Rubio
Gostei + 1
Mais Posts
03/11/2008
Luiz Henrique
if ClientDataSet1.ChangeCount > 0 then
ClientDataSet2.Data := ClientDataSet1.Delta;
Gostei + 0
04/11/2008
Vitor Rubio
try if form1.cdsDetail.ChangeCount > 0 then cdsProblema.Data := form1.cdsDetail.Delta; except end;
mas dá a exception de invalid field type
Gostei + 0
04/11/2008
Vitor Rubio
Gostei + 0
04/11/2008
Luiz Henrique
Peço desculpas por nao te dar um retorno melhor, fora um acesso no evento DSProvider/BeforeUpdateRecord para tratamento do ID/Tabela para gravação na aplicacao Servidora, nao tenho funçoes que necessitam dados do Delta.
Espero que outro colega te de um retorno melhor.
Esta linha que te passei, é de um exemplo do Guinter que tinha aqui, mas ele usa CDS/Mybase...e so tem esta linha ai no exemplo por sinal.
Abraço
Gostei + 0
04/11/2008
Vitor Rubio
estou trabalhando com n-tier, e se por motivo de força maior o client se desconectar do server eu gostaria de, quando reconectar, mostrar ao usuario o que ele estava alterando/visualizando no momento, para poder salvar (ou não)
Gostei + 0
04/11/2008
Luiz Henrique
Se for isso, na quebra da conexao, voce poderia tbm varrer os componemtes comparando...cds.Fields[X].OldValue com NewValue e obter os alterados. Seria um opcao tbm
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)