ClientDataSet1.ApplyUpdates(-1); - Não dá erro mas também não atualiza a tabela
Rogerio Monteiro
monteirorama em gmail.com
Sex Dez 11 21:52:37 -03 2009
Olá Colegas.
Utilizo Delphi 7 + Zeos Lib 6.6.2-RC + FB 2.1
Problema:
Tenho um cadastro de modelos de etiqueta, no qual há uma tabela Pai e uma
tabela Filha.
Para a tabela Pai temos: RPMQuery1 (TZConnection) Nome no FB: MODETIQUETA
Para a tabela Filha temos: RPMQuery1_CDS1 (TZConnection) + DataSetProvider1
+ ClientDataSet1 Nome no FB: CAMPOSLINHAETIQ
Muito bem, no evento AfterPost de RPMQuery1, há a gravação das alterações
assim:
With Form_MenuPrincipal do
begin
try
RPMConexao.StartTransaction;
// Grava a Tabela Principal (MODETIQUETA)
RPMQuery1.ApplyUpdates;
// Grava a Tabela Secundária (CAMPOSLINHAETIQ)
if (ClientDataSet1.ChangeCount > 0) then
ClientDataSet1.ApplyUpdates(-1); // ----------->>> PASSA
POR AQUI, ZERA O ChangeCount MAS NÃO ATUALIZA A TABELA.
RPMConexao.Commit;
except
RPMConexao.Rollback;
raise;
end;
end;
RPMQuery1.CommitUpdates;
Resumindo, após executado os comandos acima, não dá erro, nem exception,
porém somente a tabela principal (MODETIQUETA) é atualizada, mas a que tem o
esquema do ClientDataSet não é, apesar de passar pelo comando e o
changecount de 1 ou 2 vai para 0.
Se alguém puder me dar uma luz, desde já agradeço.
Rogerio.
Mais detalhes sobre a lista de discussão lista