Fórum Firebird e DBExpress - ClientDataSet1: Must apply updates be #53057

29/09/2005

0

Bom dia,

Amigos, peguei uma apostila neste site, onde diziam pra utilizar o componente TSQLClientDataSet, mas no Delphi 2005 não tem.
Então, com a ajuda dos foristas utilizei a estrutura:
SQLConnection->SQLDataSet->DataSetProvider->ClientDataSet->DataSource
Preenchi no ClientDataSet a propriedade CommandType como ctTable.
Coloquei em um form, os campos da tabela em DBEdits, arrastando os campos do ClientDataSet e um DBNavigator.
Consigo utilizar as funções do DBNavigator, mas ao clicar no refresh, aparece a mensagem: ClientDataSet1: Must apply updates before refreshing data.
Tem como configurar para que o componente DBNavigator consiga trabalhar com uma base Firebird? Como se fosse paradox.

Obrigado.

A, como TSimpleDataSet acontece a mesma coisa. Estou apanhando pra alguma propriedade.


Doug_chagas

Doug_chagas

Responder

Posts

29/09/2005

Paulo

Bem, não conheço o Delphi 2005. Uso o 7. Porem uma coisa vc deve ter em mente. O firebird é unidirecional, como muitos SGDB. Para uma navegabilidade, num grid ou semelhante, eu uso o SIMPLEDATASET. Ele permite a navegabilidade em um banco Unidirecional. Nos posts, de inserção ou semelhante, pesquisas e etc.., eu utilizo Stored Procedure.


Responder

Gostei + 0

29/09/2005

Antonio Pereira

Olá amigo tem como sim... Pode ter outras maneiras mas a que encontrei em testes nos meus programas (firebird / mysql) foi a seguinde:

Va no envento AfterRefresh do ClientDataSet1 e coloque o seguinte:

ClientDataSet1.ApplyUpdates(0);


Veja o Exemplo.

procedure TForm1.ClientDataSet1AfterRefresh(DataSet: TDataSet);
begin
ClientDataSet1.ApplyUpdates(0);
end;

Ok.

Atenciosamente,

Antonio


Responder

Gostei + 0

30/09/2005

Bruno Belchior

a questão é q o CDS imagina q vc só o atualizará quando vc não tiver mais alterações q não estejam refletidas no banco... ou seja o seu delta esstiver limpo... pensando bem não é errado, pois c vc atualizasse seu CDS com o delta preenchido, seria improvável q ele soubesse quais registros atualizar posteriormente, por isso no caso de existirem alterações no CDS, sempre se deve aplicá-las ou cancelá-las...


Responder

Gostei + 0

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

Aceitar