Delphi Firebird, salvar e imediatamente imprimir o registro

Delphi

23/11/2008

Delphi e Firebird 2.0 conexao componente IBDAC

Tenho a tabela AIH com o campo chave primaria id_aih, com o autoincremento feito no proprio Firebird.

no Form tem os botoes (salvar, excluir...e tambem o botao imprimir) deixei o campo id_aih requerid = false.

o botao salvar funciona:
DatMod.Aih.Post;

mas o botão imprimir não funciona se eu na hora que salvar mandar imprimir o mesmo registro, da o seguinte erro:

´is not a valid integer value´. Process stopped. Use Step or Run to continue.

mas se depois que eu salvar, navegar pelos campos ele imprime qualquer um deles.

botao imprimir:
procedure TAih.Button5Click(Sender: TObject);
begin
MyQueryAIH.Active := False;
MyQueryAIH.SQL.Clear;
MyQueryAIH.SQL.Add(´SELECT * from aih´);
MyQueryAIH.SQL.Add(´where id_aih = :cod´);
MyQueryAIH.Params[0].AsInteger := StrToInt(DBedit1.Text);
MyQueryAIH.Open;
MyQueryAIH.Active:=true;
MyQueryAIH.Active := False;
end;


Boavida

Boavida

Curtidas 0

Respostas

Sistemald

Sistemald

23/11/2008

Rapaz, o grande problema é que você não tem o ID que é gerado no Firebird, fica dificil chamar a impressão do mesmo, minha solução é você pegar o valor do generator e passar ele no cadastro, desta forma você terá o ID do registro e poderá chamar o relatório.

SQL para pegar o valor de um generator
select gen_id(:GEN, 1) result from rdb$database 


é só passar o nome do genertator no parametro :GEN


GOSTEI 0
POSTAR