resolvi usando um refresh e um query.last dai consigo pegar o id.

jb como faço para recuperar o id od generetor antes do post?

2009/4/30 JB <josebened...@gmail.com>

>
>
> existe returning no insert do firebird, mas para seu caso aconselho
> recuperar o id do generator antes de dar o post, ou até mesmo
> apresentar o id para o usuário na inclusão, retirando a chamada do
> generator da trigger, mas isto elimina sequencias de acordo com os
> cancelamentos d registros... se não tiver problema acho que pode ser
> uma solução.
>
> 2009/4/30 Rubem Nascimento da Rocha 
> <djpardalro...@hotmail.com<djpardalrocha%40hotmail.com>
> >:
>
> >
> >
> >
> >
> > O q vc queria é que o SGBD fosse inteligente a ponto de notificar a
> > aplicação cliente e o dataset do Delphi pudesse fazer isso automático pra
> > vc. E até onde me consta, nenhum SGBD no mercado tem um esquema de
> callback
> > que pudesse ser implementado em camadas de acesso baseadas no dataset do
> > Delphi e q permitisse aos datasets do Delphi terem essa inteligência. Ou
> > seja, não existe receita mágica, pulo do gato ou (ARGH!) gambiarra! Ou
> usa o
> > método Refresh() do DataSet ou abre e fecha a consulta.
> >
> > Sds.
> >
> > To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> > From: govoni.fel...@gmail.com <govoni.felipe%40gmail.com>
> > Date: Thu, 30 Apr 2009 13:05:36 -0300
> > Subject: Re: [delphi-br] firebird - acessar campo auto incremento
> >
> > desculpe RUBEM
> >
> > na verdade nao é erro, e o data module noa tem nenhum codigo, como
> > o firebird nao tem o auto incremento, logo apos o post nao esta acessivel
> o
> > valor do id somente depois do refresh. eu queria saber se tem uma maneira
> > mais correta pra resover isso ou se vou ter q faze uma gambiarra.
> >
> > 2009/4/30 Rubem Nascimento da Rocha 
> > <djpardalro...@hotmail.com<djpardalrocha%40hotmail.com>
> >
> >
> >>
> >>
> >>
> >> Só isso é pouco e vago pra analisar o problema! Precisaria olhar o
> código
> >> desse suposto data module de nome DMGeral. E ainda não sei qual a camada
> >> de
> >> acesso a dados vc está usando (BDE, ADO/dbGo, dbExpress, etc.). Mas
> teria
> >> que olhar o código do data module pra saber o q vc fez errado!
> >>
> >> Sds.
> >>
> >> P.S.: Meu nome é no singular!
> >>
> >>
> >>
> >> To: delphi-br@yahoogrupos.com.br 
> >> <delphi-br%40yahoogrupos.com.br><delphi-br%
> 40yahoogrupos.com.br>
> >> From: govoni.fel...@gmail.com <govoni.felipe%40gmail.com><govoni.felipe%
> 40gmail.com>
> >> Date: Thu, 30 Apr 2009 12:53:40 -0300
> >> Subject: Re: [delphi-br] firebird - acessar campo auto incremento
> >>
> >> desculpe rubens acho q nao me expressei bem:
> >>
> >> eu criei o generetor e o trigger, mas minha duvida e no delphi.
> >>
> >> tenho um:
> >>
> >> DMGeral.qryCompras.Append;
> >> DMGeral.qryCompras.Post;
> >>
> >> e em outra procedure, faço isso
> >>
> >> dmgeral.qryProdutos.filedbyname('id_compra').value :=
> >> dmgeral.qryCompras.filedbyname('id_compra').value;
> >>
> >> porem ele retorna vazio, se eu der um refresh ele retorna para o
> primeiro
> >> registro
> >> da query. preciso atualizar a query para pegar o id_compra.
> >>
> >> 2009/4/30 Rubem Nascimento da Rocha
> >> <djpardalro...@hotmail.com <djpardalrocha%40hotmail.com><djpardalrocha%
> 40hotmail.com>
> >> >
> >>
> >> >
> >> >
> >> >
> >> > Até onde me consta, não existe a figura de campo auto-incremento no
> >> > FireBird. Esse comportamento é simulado por meio de GENERATOR's e
> >> TRIGGER's.
> >> >
> >> > Verifique o código da trigger que é executada no evento BEFORE INSERT
> da
> >> > tabela em questão. Nesse código, com toda a certeza, está sendo usada
> a
> >> > função GEN_ID() para incrementar o valor de um generator, e o valor
> >> > resultante é atribuído ao campo chave da tabela. Para saber qual o
> >> > último
> >> > valor gerado pelo GENERATOR usado na trigger, use a seguinte sintaxe
> >> SELECT
> >> > SQL:
> >> >
> >> > SELECT GEN_ID(<nome_generator>, 0) FROM RDB$DATABASE
> >> >
> >> > Boa sorte.
> >> > Sds.
> >> >
> >> > To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> >> > <delphi-br%40yahoogrupos.com.br><delphi-br%
> >> 40yahoogrupos.com.br>
> >> > From: govoni.fel...@gmail.com <govoni.felipe%40gmail.com><govoni.felipe%
> 40gmail.com><govoni.felipe%
> >> 40gmail.com>
> >> > Date: Thu, 30 Apr 2009 12:41:47 -0300
> >> > Subject: [delphi-br] firebird - acessar campo auto incremento
> >> >
> >> >
> >> > boa tarde
> >> >
> >> > tenho uma procedure onde adiciono e salvo um registro mas preciso
> >> > acessar
> >> > o valor do campo auto incremento, como faço isso? pois se dou um
> refresh
> >> > ele volta para o primeiro registro.
> >> >
> >> > --
> >> > Felipe Govoni
> >> > ---------------------
> >> > GOVONI Sistemas
> >> > Fone 8472-8718
> >> > www.govoni.com.br
> >> >
> >> > [As partes desta mensagem que não continham texto foram removidas]
> >> >
> >> > __________________________________________________________
> >> > Messenger 2009: Instale já!
> >> > http://download.live.com
> >> >
> >> > [As partes desta mensagem que não continham texto foram removidas]
> >> >
> >> >
> >> >
> >>
> >> --
> >> Felipe Govoni
> >> ---------------------
> >> GOVONI Sistemas
> >> Fone 8472-8718
> >> www.govoni.com.br
> >>
> >> [As partes desta mensagem que não continham texto foram removidas]
> >>
> >> __________________________________________________________
> >> Faça já uma busa e ganhe um wink do Messenger. Está esperando o que? É
> >> grátis!
> >> http://www.ibud.com.br/
> >>
> >> [As partes desta mensagem que não continham texto foram removidas]
> >>
> >>
> >>
> >
> > --
> > Felipe Govoni
> > ---------------------
> > GOVONI Sistemas
> > Fone 8472-8718
> > www.govoni.com.br
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > __________________________________________________________
> > Messenger 2009: Instale já!
> > http://download.live.com
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
>
> --
> ____________________________
> José Benedito
> Software Developer
> +55 19 8116-7826
> msn: jb_holam...@hotmail.com <jb_holambra%40hotmail.com>
> skype:jb.sologix
>  
>



-- 
Felipe Govoni
---------------------
GOVONI Sistemas
Fone 8472-8718
www.govoni.com.br


[As partes desta mensagem que não continham texto foram removidas]

Responder a