Fórum Atualização com ClientDataSet #309778
18/01/2006
0
Quando eu clico no botão Novo, executa o comando cdsPadrao.Append. Aí em preencho os campos e clico em Gravar executando assim o cdsPadrao.Post e em seguida o ApplyUpdates.
Se logo depois eu clicar no botão Editar executa o cdsPadrao.Edit. Só que depois eu clico no botão Gravar e não esta atualizando os dados na base de dados.
O que pode ser?
Estou usando Delphi 2006, SQL Server com Multicamadas.
Desde já agradeço.
Cristiano Mário
Cristianojedi
Curtir tópico
+ 0Posts
19/01/2006
Thomaz_prg
Gostei + 0
19/01/2006
Cristianojedi
Cristiano
Gostei + 0
19/01/2006
Thomaz_prg
raise Exception.Create( E.Message );
Isso fará com que, se houver erros, o mesmo seja mostrado. Outra coisa, se você não estiver ´commitando´ a transação, tente fazer isso manualmente. No evento BeforeApplyUpdates do DataSetProvider coloque:
if not ADOConnection1.InTransaction then ADOConnection1.BeginTrans;
e no AfterApplyUpdates:
if ADOConnection1.InTransaction then ADOConnection1.CommitTrans;
Isso forcará o sistema a gravar os dados. Normalmente o proprio CDS deveria fazer isso, mas acontece que com alguns componentes (IBX por exemplo) isso não ocorre. As alterações ficam pendentes até que se feche a aplicação cliente.
Gostei + 0
19/01/2006
Cristianojedi
Em casa eu vou testar e posto aqui depois.
Muito obrigado, thomaz_prg!!!
Cristiano Mário
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)