Fórum Atualizar FireBird - DBExpress #44817

12/06/2004

0

Bom dia a todos, estou com uma dúvida cruel, não estou conseguindo fazer as atualizações básicas como incluir, excluir e alterar.
Estou usando:
SQLConnection1 --> [b:78cb1b2e04]TSQLConnection[/b:78cb1b2e04]
SQLQ --> [b:78cb1b2e04]TSQLQuery[/b:78cb1b2e04]
DSP --> [b:78cb1b2e04]TDataSetProvinder[/b:78cb1b2e04]
CDS --> [b:78cb1b2e04]TClientDataSet[/b:78cb1b2e04]
DS --> [b:78cb1b2e04]TDataSource[/b:78cb1b2e04]

procedure TF_Principal.SpeedButton4Click(Sender: TObject);
Var
  l_Cod:Integer;
begin
  IF messageDLG(´Deseja Realmente Apagar?´,
     mtConfirmation,[mbOK,mbCancel],0) = 1 Then
  Begin
    l_Cod:=CDSCODIGO.Value;
    with CDS do
    Begin
      Close;
      CommandText:=´Delete from Telefones Where CODIGO=´´´ + intTOstr(l_Cod)  + ´´´´;
      CommandText:=´Select * from Telefones´;
      Open;
    End;
  End;
end;



Se alguem puder me ajudar eu agradeço


Lucianogar

Lucianogar

Responder

Posts

12/06/2004

Vinicius2k

Luciano,

Acho q na verdade vc complicou um pouco... simplificando, as operações trabalho com TClientDataSet são como se fosse uma TTable + paradox...

CDS.Append;
CDS.Delete;
CDS.Edit;

Após realizar a operação, normalmente, vc chama pelo método ApplyUpdates : CDS.ApplyUpdates(-1), que irá efetivar as alterações feitas no buffer no provider a sua tabela física... Digo normalmente, pq deve ficar a seu critério, quando aplicar o método, visto que em bases grandes pode ser uma operação um pouco lenta...
O método ApplyUpdates não levanta exceções, mesmo que tenha havido algum erro, mas ele retorna o número de erros e caso tenha havido algum o evento OnReconcileError é disparado...
Então vc pode fazer algo dessa forma :
if CDS.ApplyUpdates(-1) > 0 then
  //houve um erro...
else
  // não houve erro...

O evento OnReconcileError vc pode usar para buscar a mensagem de erro retornada pelo servidor através da variável ´E´...

Espero ter ajudado...
T+


Responder

Gostei + 0

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

Aceitar