Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Augusto Costa

Erro comando abort Delphi7

Recommended Posts

Seguinte, desenvolvi uma apliação que para preencher uma tabela preciso de um campo empresa,e durante o preenchimento dos campos no programa não faço a validação se a empresa está cadastrada, deixei para fazer isso no evento before post da query, acontece que com o código abaixo quando executa o camando abort, gera o erro "Cannot perform this operation on a closed dataset". Alguem pode me ajudar ? Segue o exemplo do evento before post do componente IBQuery:

CODE
procedure TF_ApontamentoHoras.IBQ_ApontamentoBeforePost(DataSet: TDataSet);

begin

with TIBQuery.Create(nil) do

begin

Database := F_MenuPrincipal.IBDatabase1;

SQL.Add('select idempresa from empresa where codigoEmpresa = :codigo_empresa');

ParamByName('codigo_empresa').AsFloat := IBQ_Apontamento.FieldByName('CODIGOEMPRESA').AsFloat;

Open;

if not(IsEmpty) then

begin

IBQ_Apontamento.FieldByName('ID_EMPRESA').AsString := Fields[0].AsString;

end

else

begin

MessageDlg('A empresa informada não está cadastrada!',mtError,[mbOK],0);

F_ApontamentoHorasDetalhe.DBEdit5.SetFocus;

Abort;

end;

Free;

end;

 

E notei que toda transação que realizo, tenho que abrir e fechar a query, pq se tento inserir um novo registro logo após um post gera o mesmo erro.

 

Grato desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.