Chave gerada por TRIGGER
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.
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
Curtidas 0
Respostas
Carlo Vinícius
29/05/2003
Sobe...
GOSTEI 0
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]
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
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]
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
29/05/2003
Desculpe... Eu quis dizer que foi o primeiro que NÃO me disse: ´Não tem jeito´... :D
GOSTEI 0