Selecao DevMedia QUERO SER PRIME

Fórum Saber se houve modificação ClientDataSet antes ApplyUpdate #329736

19/09/2006

0

Pessoal,

Estou utilizando BDS 2006 + SQL Server 2005 e DBExpress, faço um post nos meus dados utilizando TClientDataSet.Post e em seguinda TClientDataSet.Applyupdates(0).

Tem como antes de dar um ApplyUpdate eu verificar se o TClientDataSet foi modificado ? Eu usei a propriedade:

if myClientDataSet.Modified = True then
myClientDataSet.ApplyUpdate(0);

Mas mesmo com o código acima eu alterando a tabela gravando ou excluindo o registro ele não diz q o TClientDataSet foi modificado. Tem como saber isso pelo Delta ? (Não sei onde ví isso)

Obrigado


Adrbrusc

Adrbrusc

Responder

Post mais votado

19/09/2006

Tem como saber isso pelo Delta ? (Não sei onde ví isso)



Delta é um OLEVariant que armazena as ALTERAÇÕES feitas em um ClientDataSet.



voce pode tentar fazer assim

if  ClientDataSet1.ChangeCount > 0 then
   faz o que tem que ser feito pois houve alteraçoes



Marco Salles

Marco Salles
Responder

Gostei + 1

Mais Posts

19/09/2006

Raserafim

esta verificação que vc está fazendo não é para saber se o campo foi alterado, esta propriedade diz se pode ser alterado ou não (somente leitura ou não).

vc deverá fazer esta verificação através do DataSource ao qual o ClientdataSet está ligado, verificando a propriedade State assim:

if DataSource1.State in [dsInsert, dsEdit] then
  ...


ou seja, caso o registro esteja em modo de edição ou inserção.


Responder

Gostei + 0

19/09/2006

Adrbrusc

Ok, obrigado...

Mas é que já dei o Post na tabela ou às vezes não precisei pois só foi consulta e ai quando eu sair do formulário eu queria dar um único ApplyUpdate caso houvesse modificações. Por isso estou tentando saber se houveram alterações para este possível ApplyUpdate.

Obrigado


Responder

Gostei + 0

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

Aceitar