Fórum Problemas com Generator e Trigger, alguém ? #151405

02/04/2003

0

Resolvir a fazer incremento com Generator e triggers mais não está dando certo,

criei o Generator:
Ger_Cod_empresa

Criei uma Trigger:
CREATE TRIGGER GER_COD_EMPRESA FOR EMPRESA ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.CODIGO IS NULL) THEN
NEW.CODIGO = GEN_ID(GER_COD_EMPRESA, 1);
END


uso DBexpress, SQLDataset DataSetProvider com ClienteDataSet, tenho que executar a trigger ? ou o interbase se encarrega disso ?

Como faço para minha aplicação pegar o código gerado pelo generator ?

Obrigada pela atenção !

[]´s

Renata Coimbra


Anonymous

Anonymous

Responder

Posts

02/04/2003

Hatrix

Olha, o interbase se encarrega de executar a trigger automaticamente, mas para pegar o código que ele acabou de criar eu não sei muito bem, mas tenta o seguinte:

ClientDataSet.Append;
Edit1.Text := inttostr(ClientDataset.Codigo.AsInteger);


Responder

Gostei + 0

02/04/2003

Anonymous

Está quase tudo certo, o Interbase se encarrega de pegar o proximo codigo do Generator e executar a trigger, eu acho que o problema no seu caso foi ter colocado se new.codigo is null. Caso vc queira mesmo utilizar dessa forma, ou seja, só procurar o proximo codigo na inserção se for = nulo, preste atenção se o seu fonte no Delphi não está jogando algum valor nele.
Qualquer duvida, meu email é angelalrn@bol.com.br

CREATE TRIGGER GER_COD_EMPRESA FOR EMPRESA ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
NEW.CODIGO = GEN_ID(GER_COD_EMPRESA, 1);
END


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar