Re: [firebase-br] Dúvidas
francisco gamarra
francisco.gamarra em gmail.com
Ter Jul 18 16:45:49 -03 2006
Ao seu caso então se aplica o caso B como eu já imaginava.
Vc não deverá ter uma Trigger para esse caso.
A trigger se aplica no momento da gravação no banco, e nao no momento do
novo registro na aplicação.
meu conselho é:
//crie uma função q capture o valor do seu generator
function gen_id(GeneratorName : string; Inc : integer = 1) : integer;
begin
//vc deve ter uma query pública para ativar suas consultas ou criala na
função
query.sql.text :=
'select gen_id(' + GeneratorName + ',' + IntToStr(Inc) + ') from
rdb$database';
query.open;
result := query.fields[0].asInteger;
query.close;
end;
//com a função gen_id criada fica fácil. basta chamá-la no
//envento OnNewRecord do seu componente table ou componente de consulta
procedure tform1.table1OnNewRecord(sender : tObject);
begin
table1.fieldbyname('cod').asInteger := gen_id('MeuGenerator');
end;
Mais detalhes sobre a lista de discussão lista