[firebase-br] Ajuda com Trigger X Generator

Forrest® fernando.bg em gmail.com
Sex Mar 13 09:15:53 -03 2009


Mateus F. Ricci | ORION Technology wrote:

> Sempre que eu crio uma trigger para disparar um generator, ele dá um
> erro falando que o campo “ID” não pode ser “NULL”
> 
> Segue o generator e a trigger...
> 
> Create generator gen_matriculas_id;
> 
> Create table Matriculas (
>        Id integer not null,
>        Aluno varchar(60) not null charset WIN1252 collate PXW_INTL850
> );

> Set term ^ ;
> Create trigger matriculas_bi for matriculas
> Active before insert position 0
> As
> Begin
>    If (new.id is null) then
>       New.id = gen_id(gen_matriculas_id,1);
> End^
> Set term ;  ^

Tente fazer o seguinte no seu componente de conexão tem o evendo
OnNewRecord, nele você passa um valor para o campo ficando assim.

dataset.FieldByName('Campo').asInteger := 0;

e na sua trigger ficaria assim.

Set term ^ ;
Create trigger matriculas_bi for matriculas
Active before insert position 0
As
Begin
   If (new.id = 0) then
      New.id = gen_id(gen_matriculas_id,1);
End^
Set term ;  ^

Acredito que isso resolveria seu problema.

T++++++++++++
-- 






Mais detalhes sobre a lista de discussão lista