Chave gerada por TRIGGER

Delphi

29/05/2003

Essa já me disseram até que se trata de ´Missão Impossível´...

Mas tenho pesquisado sobre. Se alguém souber algo:

Trabalhando em um sistema em Delphi 5 com Interbase 6.

Ao gravar um registro em uma tabela com Trigger/Generator, o IB não retorna o código gerado pela Trigger sem que eu execute um Close/Open no IBQuery!

COMO FAÇO PARA ´LER´ ESSE CÓDIGO SEM O PROCEDIMENTO ´CLOSE/OPEN´?

Pois quando faço isso, perco o posicionamento do registro recém-gravado.


Carlo Vinícius

Carlo Vinícius

Curtidas 0

Respostas

Carlo Vinícius

Carlo Vinícius

29/05/2003

Sobe...


GOSTEI 0
Dio

Dio

29/05/2003

Carlo Vinícuis,

Não estou me recordando se no Delphi 5 existe o componente IBDataSet na palheta IB, mas se existir com ele dá para fazer o que você está querendo. Existe um propriedade dele chamada GeneratorField, com ela você associa a trigger, o campo que seja a chave primária, a quantidade que deseja incrementar e o evento que quer associar este incremento. É bem legal e funciona. Associando sua trigger, o chave da sua tabela e incrementando 1 no evento OnNewRecord, você não precisará dar ´Close/Open´.

:lol: [/img][/url]


GOSTEI 0
Carlo Vinícius

Carlo Vinícius

29/05/2003

[quote=´dio´]Carlo Vinícuis,

Não estou me recordando se no Delphi 5 existe o componente IBDataSet na palheta IB, mas se existir com ele dá para fazer o que você está querendo. Existe um propriedade dele chamada GeneratorField, com ela você associa a trigger, o campo que seja a chave primária, a quantidade que deseja incrementar e o evento que quer associar este incremento. É bem legal e funciona. Associando sua trigger, o chave da sua tabela e incrementando 1 no evento OnNewRecord, você não precisará dar ´Close/Open´.

:lol: [/img][/url]


Obrigado pela dica!

Foi o primeiro que disse que ´não tem jeito´... Embora eu tenha encontrado o componente IBDataSet no Delphi 5, mas sem a tal propriedade ´GeneratorField´. Espero que esta não tenha sido implementada somente nas versões posteriores!

Ainda não testei, mas foi de grande ajuda! Continuarei pesquisando!

Obrigado!


GOSTEI 0
Carlo Vinícius

Carlo Vinícius

29/05/2003

Desculpe... Eu quis dizer que foi o primeiro que NÃO me disse: ´Não tem jeito´... :D


GOSTEI 0
POSTAR