Trigger - Venda(ROLLBACK)

Delphi

18/09/2005

Tenho um formulario de venda, no On Show, tenho uma isercao na tabela que me da um codigo, so que dai nao quero fazer a venda mas a trigger ja aumentou um registro e na minha tabela tambem,,
coloquei no on show do form tmabem
Dm.IBTransaction1.StartTransaction;


e no botao fechar
Dm.IBTransaction1.Rollback;



Ta dando erro que TRANSACTION IS ACTIVE.

COMO FAÇO PARA DESFAZER TUDO NO BANCO, TRIGGER, INSERCAO NA TABELA DE VENDA E INSERCAO NA TABELA DE PRODUTO?


Fmtrevisan

Fmtrevisan

Curtidas 0

Respostas

Catunda

Catunda

18/09/2005

Experimente fazer o seguinte teste na saida do formulario, mas antes de fechar o DataSet que vc está usando:

if MenssageDlg(´Cofirma Venda?´,mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
IBCDS1.ApplyUpdates(10);
if not(IBCDS1.DBTransaction.Active) then IBCDS1.DBTransaction.StartTransaction;
IBCDS1.DBTransaction.Commit;
end
else IBCDS1.RevertRecord;

obs: IBCDS1 é o IBClienteDataSet que estou usando.


GOSTEI 0
POSTAR