Fórum Procedure para salvar inclusão/alteração na tabela #244593

27/07/2004

0

Estou com o seguinto problema:
Eu preciso criar uma procedure para realizar um commit nas minha tabelas.
Encontrei uma apostila com o código abaixo.
procedure TfrmProduto.Save;
begin
  try
    TBDEDataSet(DSMain.DataSet).ApplyUpdates;
    TBDEDataSet(DSMain.DataSet).CommitUpdates;
  except
    ShowMessage(´Não foi possível realizar a operação.´);
  end;
end;

Tentei adaptá-lo no meu sistema, porém esse código acima está no formulário de cadastro e quero colocar no DataModule e acrescentando no evento AfterPost de cada query a chamada da procedure.
O problema é que não sei como pegar o DataSet sem precisar do DataSource, da forma mais genérica possível.
Tentei assim mas não deu certo:
procedure TDm.Save;
begin
  try
    TBDEDataSet(DataSet).ApplyUpdates;
    TBDEDataSet(DataSet).CommitUpdates;
  except
    ShowMessage(´Não foi possível realizar a operação.´);
  end;
end;


Espero que tenha conseguido explicar de forma clara :oops:

Qualquer sugestão/ajuda será bem-vinda. :wink:


Angelnoa

Angelnoa

Responder

Posts

27/07/2004

Rômulo Barros

Quais os componentes q vc utiliza para acesso a dados?

Faça assim:

procedure TDm.Save; 
begin 
  try 
    TClientDataSet(DataSet).ApplyUpdates; 
    TBDEDataSet(DataSet).CommitUpdates; 
  except 
    ShowMessage(´Não foi possível realizar a operação.´); 
  end; 
end;



Responder

Gostei + 0

27/07/2004

Angelnoa

Não utilizo TClientDataSet, apenas TQuery e TDataSource


Responder

Gostei + 0

27/07/2004

Reginaldo174

Creio que vc deve usar Database, então faça assim :

procedure TForm1.Salvar(Nomequery: TQuery);
begin

try
Database1.StartTransaction;
Nomequery.ApplyUpdates;
Database1.Commit;
showmessage(´Registro Gravado !´);
except
Database1.Rollback;
showmessage(´Erro de Gravação !´);
raise;
end;

Nomequery.commitupdates;

end;


Responder

Gostei + 0

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

Aceitar