Procedure para salvar inclusão/alteração na tabela
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.
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:
Espero que tenha conseguido explicar de forma clara :oops:
Qualquer sugestão/ajuda será bem-vinda. :wink:
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
Curtidas 0
Respostas
Rômulo Barros
27/07/2004
Quais os componentes q vc utiliza para acesso a dados?
Faça assim:
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;
GOSTEI 0
Angelnoa
27/07/2004
Não utilizo TClientDataSet, apenas TQuery e TDataSource
GOSTEI 0
Reginaldo174
27/07/2004
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;
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;
GOSTEI 0