Atualizar FireBird - DBExpress
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]
Se alguem puder me ajudar eu agradeço
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
Curtidas 0
Respostas
Vinicius2k
12/06/2004
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 :
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+
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+
GOSTEI 0